summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-01-15 13:20:21 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-01-15 13:20:21 +0700
commit932fd84a5eb71d62f2a138f3ddb9ab9c0ccb0385 (patch)
treead819379b1ace4855ddbe60ec48158a96b656146 /indoteknik_api/controllers/api_v1
parentef3ed689e8c8dc1de79e3744055fa12a97aefd35 (diff)
<iman> update merchant
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/lead.py76
1 files changed, 72 insertions, 4 deletions
diff --git a/indoteknik_api/controllers/api_v1/lead.py b/indoteknik_api/controllers/api_v1/lead.py
index 5749f5e5..e8153fbf 100644
--- a/indoteknik_api/controllers/api_v1/lead.py
+++ b/indoteknik_api/controllers/api_v1/lead.py
@@ -28,10 +28,10 @@ class Lead(controller.Controller):
return self.response(True)
- @http.route('/api/v1/merchant', auth='public', methods=['POST', 'OPTIONS'], csrf=False)
+ @http.route('/api/v1/merchant/<id>', 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
+ merchant_request = True if kw.get('merchantRequest') == 'true' else False
params = self.get_request_params(kw, {
# informasi perusahaan
"name_merchant": [],
@@ -54,10 +54,28 @@ class Lead(controller.Controller):
"mobile": [],
"bisnis_type": [],
"category_perusahaan": [],
+ "website": [],
"description": [],
# informasi vendor
"harga_tayang": [],
+ "merk_dagang": [],
+ "tempo_duration": [],
+ "kredit_limit": [],
+ "is_pengajuan_tempo": [],
+ "waktu_pengiriman": [],
+ "terhitung_sejak": [],
+
+ # Syarat Perdagangan
+ "is_kembali_barang": [],
+ "sertifikat_produk": [],
+ "custom_sertifikat_produk": [],
+ "is_order_quantity": [],
+ "explain_garansi": [],
+
+
+
+
"file_dokumenKtpDirut ": [],
"file_kartuNama": [],
"file_npwp": [],
@@ -67,10 +85,42 @@ class Lead(controller.Controller):
"file_dataProduk": [],
"file_pricelist": [],
})
- partner_id = int(kw.get('partner_id'))
+ partner_id = int(kw.get('id'))
partner = request.env['res.partner'].search([('id', '=', partner_id)], limit=1)
main_partner = partner.get_main_parent()
+ if params['value']['is_pengajuan_tempo']:
+ if params['value']['is_pengajuan_tempo'] == 'ada':
+ params['value']['is_pengajuan_tempo'] = True
+ else:
+ params['value']['is_pengajuan_tempo'] = False
+
+ if params['value']['is_kembali_barang']:
+ if params['value']['is_kembali_barang'] == 'ya':
+ params['value']['is_kembali_barang'] = kw.get('textReturn')
+ else:
+ params['value']['is_kembali_barang'] = 'Tidak dapat return'
+
+ if kw.get('tenggat_waktu'):
+ if kw.get('tenggat_waktu') != 'custom':
+ params['value']['tenggat_waktu'] = kw.get('tenggat_waktu') + ' hari sejak data dikirimkan'
+ else:
+ params['value']['tenggat_waktu'] = kw.get('customTenggatWaktu')
+
+ if kw.get('tempo_garansi'):
+ if kw.get('tempo_garansi') == '1':
+ params['value']['tempo_garansi'] = '6 Bulan Garansi'
+ elif kw.get('tempoTaransi') == '2':
+ params['value']['tempo_garansi'] = '1 Tahun Garansi'
+ else:
+ params['value']['tempo_garansi'] = '2 Tahun Garansi'
+
+ if params['value']['is_order_quantity']:
+ if params['value']['is_order_quantity'] == 'ya':
+ params['value']['is_order_quantity'] = kw.get('minimumPembelian')
+ else:
+ params['value']['is_order_quantity'] = 'Tidak ada minimum order quantity'
+
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:
@@ -78,7 +128,11 @@ class Lead(controller.Controller):
else:
lead = request.env['user.form.merchant'].create(filtered_params)
lead.partner_id = main_partner.id
-
+ category_ids = ''
+ category_produk_ids = kw.get('categoryProduk', False)
+ if category_produk_ids:
+ category_ids = list(map(int, category_produk_ids.split(',')))
+ form_merchant.category_produk_ids = [(6, 0, category_ids)]
if not params['valid']:
return self.response(code=400, description=params)
if merchant_request:
@@ -89,3 +143,17 @@ class Lead(controller.Controller):
})
return self.response(True)
+
+ @http.route('/api/v1/detail-merchant/<id>', auth='public', methods=['GET', 'OPTIONS'])
+ @controller.Controller.must_authorized()
+ def get_partner_detail_merchant(self, **kw):
+ params = self.get_request_params(kw, {
+ 'id': ['required', 'number']
+ })
+ partner = request.env['res.partner'].search([('id', '=', params['value']['id'])], limit=1)
+ main_partner = partner.get_main_parent()
+ form_merchant = request.env['user.form.merchant'].search([('partner_id', '=', main_partner.id)],limit=1)
+ if not form_merchant:
+ return self.response(code=404, description='form merchant not found')
+ form_merchant = request.env['res.partner'].api_single_response(form_merchant)
+ return self.response(form_merchant)