from odoo import models import json import base64 class ResPartner(models.Model): _inherit = 'res.partner' def api_single_response(self, form_merchant, with_detail=''): config = self.env['ir.config_parameter'] partner = form_merchant.partner_id dokumen_kirim = [ ['Surat Tanda Terima Barang (STTB)', '0'], ['Good Receipt (GR)', '1'], ['Surat Terima Barang (STB)', '2'], ['Lembar Penerimaan Barang (LPB)', '3'] ] dokumen_pengiriman = [] # if form_merchant.dokumen_pengiriman : # form_merchant_dokumen_pengiriman = form_merchant.dokumen_pengiriman # mapping_dokumen = {item[0]: item[1] for item in dokumen_kirim} # dokumen_pengiriman_list = [dokumen.strip() for dokumen in form_merchant_dokumen_pengiriman.split(',')] # dokumen_pengiriman = [mapping_dokumen.get(dokumen, '4') for dokumen in dokumen_pengiriman_list] data = { 'name_merchant' : form_merchant.name_merchant, 'pejabat_name' : form_merchant.pejabat_name, 'pic_merchant' : form_merchant.pic_merchant, 'pic_position' : form_merchant.pic_position, 'address' : form_merchant.address, 'state' : form_merchant.state.id, 'city' : form_merchant.city.id, 'district' : form_merchant.district.id, 'subDistrict' : form_merchant.subDistrict.id, 'zip' : form_merchant.zip, 'bank_name' : form_merchant.bank_name, 'rekening_name' : form_merchant.rekening_name, 'account_number' : form_merchant.account_number, 'email_company' : form_merchant.email_company, 'email_sales' : form_merchant.email_sales, 'email_finance' : form_merchant.email_finance, 'phone' : form_merchant.phone, 'mobile' : form_merchant.mobile, 'bisnis_type' : form_merchant.bisnis_type, 'category_perusahaan': form_merchant.category_perusahaan, 'website' : form_merchant.website, # informasi Vendor 'harga_tayang' : form_merchant.harga_tayang, 'category_produk': ','.join([str(cat.id) for cat in form_merchant.category_produk_ids]) if form_merchant.category_produk_ids else '', 'merk_dagang' : form_merchant.merk_dagang, 'is_pengajuan_tempo' : 'ada' if form_merchant.is_pengajuan_tempo else 'tidak', 'tempo_duration' : form_merchant.tempo_duration.id, 'kredit_limit' : form_merchant.kredit_limit, 'waktu_pengiriman' : form_merchant.waktu_pengiriman, 'terhitung_sejak' : form_merchant.terhitung_sejak, # syarat perdagangan 'is_kembali_barang': 'ya' if form_merchant.is_kembali_barang else 'tidak', 'text_return': form_merchant.is_kembali_barang, 'tenggat_waktu': form_merchant.tenggat_waktu, 'sertifikat_produk': form_merchant.sertifikat_produk, 'custom_sertifikat_produk': '' if form_merchant.custom_sertifikat_produk == 'false' else form_merchant.custom_sertifikat_produk, 'tempo_garansi': 1 if form_merchant.tempo_garansi == '6 Bulan Garansi' else 2 if form_merchant.tempo_garansi == '1 Tahun Garansi' else 3 , 'explain_garansi': form_merchant.explain_garansi, 'is_order_quantity': 'ya' if form_merchant.is_order_quantity else 'tidak', 'minimum_pembelian': form_merchant.is_order_quantity, # # # Pengiriman # 'PIC_tittle' : form_merchant.pic_tittle if form_merchant.pic_tittle else '', # 'PIC_name' : form_merchant.pic_name if form_merchant.pic_name else '', # 'street_pengiriman' : form_merchant.street_pengiriman if form_merchant.street_pengiriman else '', # 'state_pengiriman' : form_merchant.state_id_pengiriman.id if form_merchant.state_id_pengiriman else '', # 'city_pengiriman' : form_merchant.city_id_pengiriman.id if form_merchant.city_id_pengiriman else '', # 'district_pengiriman': form_merchant.district_id_pengiriman.id if form_merchant.district_id_pengiriman else '', # 'subDistrict_pengiriman': form_merchant.subDistrict_id_pengiriman.id if form_merchant.subDistrict_id_pengiriman else '', # 'zip_pengiriman' : form_merchant.zip_pengiriman if form_merchant.zip_pengiriman else '', # 'invoice_pic_tittle' : form_merchant.invoice_pic_tittle if form_merchant.invoice_pic_tittle else '', # 'invoice_pic' : form_merchant.invoice_pic if form_merchant.invoice_pic else '', # 'street_invoice' : form_merchant.street_invoice if form_merchant.street_invoice else '', # 'state_invoice' : form_merchant.state_id_invoice.id if form_merchant.state_id_invoice else '', # 'city_invoice' : form_merchant.city_id_invoice.id if form_merchant.city_id_invoice else '', # 'district_invoice': form_merchant.district_id_invoice.id if form_merchant.district_id_invoice else '', # 'subDistrict_invoice': form_merchant.subDistrict_id_invoice.id if form_merchant.subDistrict_id_invoice else '', # 'zip_invoice': form_merchant.zip_invoice if form_merchant.zip_invoice else '', # 'tukar_invoice_input' : form_merchant.tukar_invoice if form_merchant.tukar_invoice else '', # 'tukar_invoice_input_pembayaran' : form_merchant.jadwal_bayar if form_merchant.jadwal_bayar else '', # 'dokumen_pengiriman' : ','.join(dokumen_pengiriman) if dokumen_pengiriman else '', # 'dokumen_pengiriman_input' : form_merchant.dokumen_pengiriman_input if form_merchant.dokumen_pengiriman_input else '', # 'dokumen_kirim_input' : form_merchant.dokumen_kirim_input if form_merchant.dokumen_kirim_input else '', # 'dokumen_pengiriman_invoice' : form_merchant.dokumen_invoice if form_merchant.dokumen_invoice else '', # 'is_same_addrees': form_merchant.is_same_address if form_merchant.is_same_address else False, # 'is_same_addrees_street': form_merchant.is_same_address_street if form_merchant.is_same_address_street else False, # 'supplier_ids': [ # { # 'id': supplier.id, # 'supplier': supplier.name_supplier, # 'telepon': supplier.phone, # 'pic': supplier.pic_name, # 'credit_limit': supplier.credit_limit, # 'durasi_tempo': supplier.tempo_duration # } # for supplier in form_merchant.supplier_ids # ] if form_merchant.supplier_ids else '', # # Dokumen # 'dokumen_npwp': # { # 'name': form_merchant.dokumen_npwp.name, # 'base64': form_merchant.dokumen_npwp.datas.decode('utf-8'), # 'format': form_merchant.dokumen_npwp.mimetype, # } if form_merchant.dokumen_npwp else '', # 'dokumen_sppkp': { # 'name': form_merchant.dokumen_sppkp.name, # 'base64': form_merchant.dokumen_sppkp.datas.decode('utf-8'), # 'format': form_merchant.dokumen_sppkp.mimetype, # } if form_merchant.dokumen_sppkp else '', # 'dokumen_nib': # { # 'name': form_merchant.dokumen_nib.name, # 'base64': form_merchant.dokumen_nib.datas.decode('utf-8'), # 'format': form_merchant.dokumen_nib.mimetype, # }if form_merchant.dokumen_nib else '', # 'dokumen_siup': # { # 'name': form_merchant.dokumen_siup.name, # 'base64': form_merchant.dokumen_siup.datas.decode('utf-8'), # 'format': form_merchant.dokumen_siup.mimetype, # }if form_merchant.dokumen_siup else '', # 'dokumen_tdp': # { # 'name': form_merchant.dokumen_tdp.name, # 'base64': form_merchant.dokumen_tdp.datas.decode('utf-8'), # 'format': form_merchant.dokumen_tdp.mimetype, # }if form_merchant.dokumen_tdp else '', # 'dokumen_skdp': # { # 'name': form_merchant.dokumen_skdp.name, # 'base64': form_merchant.dokumen_skdp.datas.decode('utf-8'), # 'format': form_merchant.dokumen_skdp.mimetype, # }if form_merchant.dokumen_skdp else '', # 'dokumen_skt': # { # 'name': form_merchant.dokumen_skt.name, # 'base64': form_merchant.dokumen_skt.datas.decode('utf-8'), # 'format': form_merchant.dokumen_skt.mimetype, # }if form_merchant.dokumen_skt else '', # 'dokumen_akta_perubahan': { # 'name': form_merchant.dokumen_akta_perubahan.name, # 'base64': form_merchant.dokumen_akta_perubahan.datas.decode('utf-8'), # 'format': form_merchant.dokumen_akta_perubahan.mimetype, # } if form_merchant.dokumen_akta_perubahan else '', # 'dokumen_ktp_dirut': { # 'name': form_merchant.dokumen_ktp_dirut.name, # 'base64': form_merchant.dokumen_ktp_dirut.datas.decode('utf-8'), # 'format': form_merchant.dokumen_ktp_dirut.mimetype, # } if form_merchant.dokumen_ktp_dirut else '', # 'dokumen_akta_pendirian': { # 'name': form_merchant.dokumen_akta_pendirian.name, # 'base64': form_merchant.dokumen_akta_pendirian.datas.decode('utf-8'), # 'format': form_merchant.dokumen_akta_pendirian.mimetype, # } if form_merchant.dokumen_akta_pendirian else '', # 'dokumen_laporan_keuangan': { # 'name': form_merchant.dokumen_laporan_keuangan.name, # 'base64': form_merchant.dokumen_laporan_keuangan.datas.decode('utf-8'), # 'format': form_merchant.dokumen_laporan_keuangan.mimetype, # } if form_merchant.dokumen_laporan_keuangan else '', # 'dokumen_foto_kantor': { # 'name': form_merchant.dokumen_foto_kantor.name, # 'base64': form_merchant.dokumen_foto_kantor.datas.decode('utf-8'), # 'format': form_merchant.dokumen_foto_kantor.mimetype, # } if form_merchant.dokumen_foto_kantor else '', # 'dokumen_tempat_bekerja': { # 'name': form_merchant.dokumen_tempat_bekerja.name, # 'base64': form_merchant.dokumen_tempat_bekerja.datas.decode('utf-8'), # 'format': form_merchant.dokumen_tempat_bekerja.mimetype, # } if form_merchant.dokumen_tempat_bekerja else '', } return data