summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-01-13 17:03:43 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-01-13 17:03:43 +0700
commitef3ed689e8c8dc1de79e3744055fa12a97aefd35 (patch)
tree3fc463e608b5df435486ebca16e3636f623918d7 /indoteknik_api/controllers
parent7b3a5a327bcae3b70d2e0bead9921f069c574647 (diff)
<iman> update merchant
Diffstat (limited to 'indoteknik_api/controllers')
-rw-r--r--indoteknik_api/controllers/api_v1/lead.py41
1 files changed, 26 insertions, 15 deletions
diff --git a/indoteknik_api/controllers/api_v1/lead.py b/indoteknik_api/controllers/api_v1/lead.py
index 61a37dc6..5749f5e5 100644
--- a/indoteknik_api/controllers/api_v1/lead.py
+++ b/indoteknik_api/controllers/api_v1/lead.py
@@ -31,9 +31,13 @@ class Lead(controller.Controller):
@http.route('/api/v1/merchant', auth='public', methods=['POST', 'OPTIONS'], csrf=False)
@controller.Controller.must_authorized()
def create_merchant(self, **kw):
+ merchant_request = True if kw.get('merchant_request') == 'true' else False
params = self.get_request_params(kw, {
- "name_merchant": ["required"],
- "pic_merchant":[],
+ # informasi perusahaan
+ "name_merchant": [],
+ "pejabat_name": [],
+ "pic_merchant": [],
+ "pic_position": [],
"address": [],
"state": [],
"city": [],
@@ -48,6 +52,11 @@ class Lead(controller.Controller):
"email_finance": [],
"phone": [],
"mobile": [],
+ "bisnis_type": [],
+ "category_perusahaan": [],
+ "description": [],
+
+ # informasi vendor
"harga_tayang": [],
"file_dokumenKtpDirut ": [],
"file_kartuNama": [],
@@ -57,24 +66,26 @@ class Lead(controller.Controller):
"file_fotoKantor": [],
"file_dataProduk": [],
"file_pricelist": [],
- "description": [],
})
- filtered_params = {key: value for key, value in params['value'].items() if value}
- lead = request.env['user.form.merchant'].create(filtered_params)
-
partner_id = int(kw.get('partner_id'))
-
partner = request.env['res.partner'].search([('id', '=', partner_id)], limit=1)
+ main_partner = partner.get_main_parent()
+
+ filtered_params = {key: value for key, value in params['value'].items() if value}
+ form_merchant = request.env['user.form.merchant'].search([('partner_id', '=', main_partner.id)], limit=1)
+ if form_merchant:
+ form_merchant.write(filtered_params)
+ else:
+ lead = request.env['user.form.merchant'].create(filtered_params)
+ lead.partner_id = main_partner.id
if not params['valid']:
return self.response(code=400, description=params)
-
- main_partner = partner.get_main_parent()
-
- user_merchant_request = request.env['user.merchant.request'].create({
- 'user_id': partner.id,
- 'merchant_id': lead.id,
- 'user_company_id': main_partner.id
- })
+ if merchant_request:
+ user_merchant_request = request.env['user.merchant.request'].create({
+ 'user_id': partner.id,
+ 'merchant_id': lead.id,
+ 'user_company_id': main_partner.id
+ })
return self.response(True)