diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-12-02 09:31:13 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-12-02 09:31:13 +0700 |
| commit | 6fbfe31167e6eb66d4995374dadb14774026e8c7 (patch) | |
| tree | 044465ba37c6c6bc47ca2f0d6729ef6a64836397 /indoteknik_api/controllers | |
| parent | 07c14fedc459106189d040e7724e6d7f81051658 (diff) | |
<iman> pengajuan tempo update
Diffstat (limited to 'indoteknik_api/controllers')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 34 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/user.py | 16 |
2 files changed, 45 insertions, 5 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 088f6f5b..19c73aec 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -265,16 +265,29 @@ class Partner(controller.Controller): return self.response(data) + @http.route(prefix + 'check/<partner_id>/tempo_progress', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def get_check_tempo_partner_progres(self, **kw): + partner_id = int(kw.get('partner_id')) + partner = request.env['res.partner'].search([('id', '=', partner_id)], limit=1) + pengajuan_tempo = request.env['user.pengajuan.tempo'].search([('name_tempo', '=', partner.id)], limit=1) + if not pengajuan_tempo: + return self.response(code=404, description='Partner not found') + + data = True if pengajuan_tempo.id else False + return self.response(data) + @http.route(prefix + 'partner/pengajuan_tempo', auth='public', methods=['POST'], csrf=False) @controller.Controller.must_authorized() def write_pengajuan_tempo(self, **kw): + id = int(kw.get('partner_id')) user_id = int(kw.get('user_id')) - id = int(kw.get('id')) - tempo_request = kw.get('tempo_request',False) + tempo_request = True if kw.get('tempo_request') == 'true' else False pengajuan_tempo = request.env['user.pengajuan.tempo'].search([('name_tempo', '=', user_id)], limit=1) - user = request.env['res.users'].search([('id', '=', user_id)], limit=1) + user = request.env['res.partner'].search([('id', '=', id)], limit=1) company_name = kw.get('name', pengajuan_tempo.name_tempo.name) partner_id = request.env['res.partner'].search([('name', 'like', company_name)], limit=1) + user_account = self.get_user_by_email(user.user_id.email) params = self.get_request_params(kw, { @@ -499,10 +512,23 @@ class Partner(controller.Controller): return http.Response(status=400, json_body={'error': 'Invalid JSON format for formDokumen'}) if tempo_request: tempo_request = request.env['user.pengajuan.tempo.request'].create({ - 'user_id': user.partner_id.id, + 'user_id': user.id, 'pengajuan_tempo_id': pengajuan_tempo.id, + 'user_company_id': partner_id.id, + 'tempo_duration': pengajuan_tempo.tempo_duration.id, + 'tempo_limit': pengajuan_tempo.tempo_limit, }) + pengajuan_tempo.user_id = user_account.id + template = pengajuan_tempo.env.ref('indoteknik_custom.mail_template_user_cart_reminder_to_checkout') + template.send_mail(pengajuan_tempo.id, force_send=True) + # user_account.send_activation_mail() return self.response({ 'id': pengajuan_tempo.id, 'user_id': user_id, }) + + def get_user_by_email(self, email): + return request.env['res.users'].search([ + ('login', '=', email), + ('active', 'in', [True, False]) + ])
\ No newline at end of file diff --git a/indoteknik_api/controllers/api_v1/user.py b/indoteknik_api/controllers/api_v1/user.py index 3be874fa..f83937ea 100644 --- a/indoteknik_api/controllers/api_v1/user.py +++ b/indoteknik_api/controllers/api_v1/user.py @@ -179,7 +179,7 @@ class User(controller.Controller): if result: match_company_name = result[0] - match_company_id = result[2] + match_company_id = result[1] # Create a user company request request.env['user.company.request'].create({ @@ -403,6 +403,20 @@ class User(controller.Controller): 'user': self.response_with_token(user) }) + @http.route(prefix + 'user/<id>/after_request_tempo', auth='public', methods=['PUT', 'OPTIONS'], csrf=False) + @controller.Controller.must_authorized() + def update_user_tempo(self, **kw): + id = kw.get('id') + + user = request.env['res.users'].search([('id', '=', id)], limit=1) + if not user: + return self.response(code=404, description='User not found') + + + return self.response({ + 'user': self.response_with_token(user, payment_tempo='Review') + }) + @http.route(prefix + 'user/<id>/address', auth='public', methods=['GET', 'OPTIONS']) @controller.Controller.must_authorized() def get_user_address_by_id(self, **kw): |
