summaryrefslogtreecommitdiff
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
parent7b3a5a327bcae3b70d2e0bead9921f069c574647 (diff)
<iman> update merchant
-rw-r--r--indoteknik_api/controllers/api_v1/lead.py41
-rw-r--r--indoteknik_custom/models/user_form_merchant.py21
2 files changed, 46 insertions, 16 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)
diff --git a/indoteknik_custom/models/user_form_merchant.py b/indoteknik_custom/models/user_form_merchant.py
index c8025aa9..07990f58 100644
--- a/indoteknik_custom/models/user_form_merchant.py
+++ b/indoteknik_custom/models/user_form_merchant.py
@@ -29,9 +29,28 @@ class UserFormMerchant(models.Model):
phone = fields.Char(string='No. Telepon Perusahaan')
mobile = fields.Char(string='No. Handphone')
bisnis_type = fields.Char(string='Bisnis Type')
- category_perusahaan = fields.Char(string='Kategory Perusahaan')
+ category_perusahaan = fields.Char(string='Kategori Perusahaan')
description = fields.Text(string='Deskripsi')
+
+ # imformasi Vendor
harga_tayang = fields.Char(string='Harga Tayang (HET)')
+ category_produk = fields.Char(string='Kategori Produk')
+ merk_dagang = fields.Char(string='Merk Dagang')
+ is_pengajuan_tempo = fields.Boolean(string='Apakah anda memiliki Form Pengajuan Tempo?')
+ tempo_duration = fields.Many2one('account.payment.term', string='Durasi Tempo')
+ kredit_limit = fields.Char(string='Kredit Limit')
+ waktu_pengiriman = fields.Char(string='Waktu Pengiriman')
+ terhitung_sejak = fields.Char(string='Terhitung Sejak')
+
+
+
+ # syarat dagang
+ is_kembali_barang = fields.Char(string='Syarat Pengembalian Barang') # tulis tidak bisa pengembalian
+
+
+
+
+
file_dokumenKtpDirut = fields.Binary(string="KTP Dirut/Direktur", tracking=True, track_visibility="onchange")
file_kartuNama = fields.Binary(string="Kartu Nama", tracking=True, track_visibility="onchange")
file_npwp = fields.Binary(string="NPWP", tracking=True, track_visibility="onchange")