summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-12-02 09:31:13 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-12-02 09:31:13 +0700
commit6fbfe31167e6eb66d4995374dadb14774026e8c7 (patch)
tree044465ba37c6c6bc47ca2f0d6729ef6a64836397 /indoteknik_api/controllers
parent07c14fedc459106189d040e7724e6d7f81051658 (diff)
<iman> pengajuan tempo update
Diffstat (limited to 'indoteknik_api/controllers')
-rw-r--r--indoteknik_api/controllers/api_v1/partner.py34
-rw-r--r--indoteknik_api/controllers/api_v1/user.py16
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):