diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2025-05-23 09:38:49 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2025-05-23 09:38:49 +0700 |
| commit | f66710c029d678ecf580808b5aee3821c90d9598 (patch) | |
| tree | 7fd881203cf48bda9118ace64a418cc15fe6f7ae /indoteknik_api/controllers/api_v1/lead.py | |
| parent | dbf09bbf792809e84d2d0330a992e42b3a5c6994 (diff) | |
Revert "Merge branch 'CR/form-merchant' into odoo-backup"
This reverts commit f6f59e660af6c4229ada54f7313d68867df1ba15, reversing
changes made to 68378dd2fb8d61b282a672ca0f09033d15d82283.
Diffstat (limited to 'indoteknik_api/controllers/api_v1/lead.py')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/lead.py | 207 |
1 files changed, 1 insertions, 206 deletions
diff --git a/indoteknik_api/controllers/api_v1/lead.py b/indoteknik_api/controllers/api_v1/lead.py index 389f36b8..d5cc7c5c 100644 --- a/indoteknik_api/controllers/api_v1/lead.py +++ b/indoteknik_api/controllers/api_v1/lead.py @@ -1,9 +1,6 @@ from .. import controller from odoo import http from odoo.http import request -import base64 -import mimetypes -import json class Lead(controller.Controller): @http.route('/api/v1/lead', auth='public', methods=['POST', 'OPTIONS'], csrf=False) @@ -29,206 +26,4 @@ class Lead(controller.Controller): lead = request.env['crm.lead'].create(params['value']) - return self.response(True) - - @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 - params = self.get_request_params(kw, { - # informasi perusahaan - "name_merchant": [], - "pejabat_name": [], - "pic_merchant": [], - "pic_position": [], - "address": [], - "state": ['number'], - "city": ['number'], - "district": ['number'], - "subDistrict": ['number'], - "zip": [], - "bank_name": [], - "rekening_name": [], - "account_number": [], - "email_company": [], - "email_sales": [], - "email_finance": [], - "phone": [], - "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": [], - "tempo_garansi": [], - "is_order_quantity": [], - "explain_garansi": [], - "custom_sertifikat_produk": [], - - # # dokumen - - "file_npwp": [], - "file_sppkp": [], - "file_dokumenKtpDirut ": [], - "file_kartuNama": [], - "file_suratPernyataan": [], - "file_fotoKantor": [], - # "file_dataProduk": [], - # "file_pricelist": [], - }) - 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 direturn' - - 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('custom_tenggat_waktu') - - if params['value']['is_order_quantity']: - if params['value']['is_order_quantity'] == 'ya': - params['value']['is_order_quantity'] = kw.get('minimum_pembelian') - else: - params['value']['is_order_quantity'] = 'Tidak ada minimum order quantity' - - filtered_params = {key: value for key, value in params['value'].items() if kw.get(key) is not None} - form_merchant = request.env['user.form.merchant'].search([('partner_id', '=', main_partner.id)], limit=1) - lead = [] - if form_merchant: - form_merchant.write(filtered_params) - else: - lead = request.env['user.form.merchant'].create(filtered_params) - lead.partner_id = main_partner.id - - sertifikat = [ - 'TKDN', - 'SNI', - 'K3L', - ] - sertifikat_ids = kw.get('sertifikat_produk') - sertifikat_input = kw.get('custom_sertifikat_produk') - dokumen_sertifikat = [] - - if sertifikat_ids: - dokumen_kirim_ids = list(map(int, sertifikat_ids.split(','))) - dokumen_sertifikat = [sertifikat[i] for i in dokumen_kirim_ids if 0 <= i < len(sertifikat)] - if sertifikat_input != 'false' and sertifikat_input: - input_items = [item.strip() for item in sertifikat_input.split(',')] - dokumen_sertifikat.extend(item for item in input_items if item and item not in dokumen_sertifikat) - form_merchant.sertifikat_produk = sertifikat_input - else: - # Jika sertifikat_input kosong, hapus elemen custom (yang tidak ada di daftar `sertifikat`) - dokumen_sertifikat = [item for item in dokumen_sertifikat if item in sertifikat] - if dokumen_sertifikat: - form_merchant.sertifikat_produk = ', '.join(dokumen_sertifikat) - - category_ids = '' - category_produk_ids = kw.get('categoryProduk', False) - if category_produk_ids: - category_ids = list(map(int, category_produk_ids.split(','))) - valid_category_ids = request.env['product.public.category'].search([('id', 'in', category_ids)]).ids - form_merchant.category_produk_ids = [(6, 0, valid_category_ids)] - - file_dokumen = kw.get('file_dokumen', False) - if file_dokumen: - form_dokumen = json.loads(file_dokumen) - - for dokumen in form_dokumen: - if form_dokumen[dokumen]['details']: - mimetype, _ = mimetypes.guess_type(form_dokumen[dokumen]['details']['name']) - mimetype = mimetype or 'application/octet-stream' - data = base64.b64decode(form_dokumen[dokumen]['details']['format']) - sppkp_attachment = request.env['ir.attachment'].create({ - 'name': form_dokumen[dokumen]['details']['name'], - 'type': 'binary', - 'datas': base64.b64encode(data), - 'res_model': 'user.form.merchant', - 'res_id': form_merchant.id, - 'mimetype': mimetype - }) - - if dokumen == 'file_npwp': - form_merchant.file_npwp = sppkp_attachment.id - - elif dokumen == 'file_sppkp': - form_merchant.file_sppkp = sppkp_attachment.id - - elif dokumen == 'file_dokumenKtpDirut': - form_merchant.file_dokumenKtpDirut = sppkp_attachment.id - - elif dokumen == 'file_kartuNama': - form_merchant.file_kartuNama = sppkp_attachment.id - - elif dokumen == 'file_suratPernyataan': - form_merchant.file_suratPernyataan = sppkp_attachment.id - - elif dokumen == 'file_fotoKantor': - form_merchant.file_fotoKantor = sppkp_attachment.id - - elif dokumen == 'file_dataProduk': - form_merchant.file_dataProduk = sppkp_attachment.id - - elif dokumen == 'file_pricelist': - form_merchant.file_pricelist = sppkp_attachment.id - if not params['valid']: - return self.response(code=400, description=params) - if merchant_request: - user_merchant_request = request.env['user.merchant.request'].create({ - 'user_id': partner.id, - 'merchant_id': form_merchant.id, - 'user_company_id': main_partner.id - }) - - 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_merchant(form_merchant) - return self.response(form_merchant) - - @http.route('/api/v1/check-merchant/<id>', auth='public', methods=['GET', 'OPTIONS']) - @controller.Controller.must_authorized() - def get_partner_form_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.merchant.request'].search([('user_company_id', '=', main_partner.id)], limit=1) - if form_merchant: - return self.response(form_merchant.state_merchant) - else: - return self.response(code=404, description='form merchant not found')
\ No newline at end of file + return self.response(True)
\ No newline at end of file |
