diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-12-04 10:58:46 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-12-04 10:58:46 +0700 |
| commit | 0aad5455df5d36ef87ab1cbd52030a3cf0bef1d8 (patch) | |
| tree | 836b3fe58aaf78cc2a6980ee669c332e0bd81ce4 | |
| parent | 585ce08efde0f61ba6462b8e303cb08615f0cf33 (diff) | |
<iman> update code pengajuan tempo
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 29 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/user.py | 4 | ||||
| -rw-r--r-- | indoteknik_api/models/res_partner.py | 142 | ||||
| -rw-r--r-- | indoteknik_api/models/res_users.py | 4 | ||||
| -rw-r--r-- | indoteknik_custom/models/user_company_request.py | 26 |
5 files changed, 117 insertions, 88 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 19c73aec..0522e8e1 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -284,10 +284,10 @@ class Partner(controller.Controller): user_id = int(kw.get('user_id')) tempo_request = True if kw.get('tempo_request') == 'true' else False pengajuan_tempo = request.env['user.pengajuan.tempo'].search([('name_tempo', '=', user_id)], limit=1) - user = request.env['res.partner'].search([('id', '=', id)], limit=1) + user = request.env['res.partner'].search([('id', '=', user_id)], limit=1) company_name = kw.get('name', pengajuan_tempo.name_tempo.name) partner_id = request.env['res.partner'].search([('name', 'like', company_name)], limit=1) - user_account = self.get_user_by_email(user.user_id.email) + user_account = self.get_user_by_email(user.email) params = self.get_request_params(kw, { @@ -374,7 +374,7 @@ class Partner(controller.Controller): supplier_ids_to_add.append(new_supplier_data.id) - pengajuan_tempo.write({'supplier_ids': [(4, supplier_id, 0) for supplier_id in supplier_ids_to_add]}) + pengajuan_tempo.write({'supplier_ids': [(6, 0, supplier_ids_to_add)]}) except json.JSONDecodeError: return http.Response(status=400, json_body={'error': 'Invalid JSON format for formSupplier'}) @@ -477,31 +477,31 @@ class Partner(controller.Controller): 'mimetype': mimetype }) - if dokumen['documentName'] == 'dokumenNib' and dokumen['details']['base64'] != '': + if dokumen['documentName'] == 'dokumenNib' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_nib = [(4, sppkp_attachment.id)] - elif dokumen['documentName'] == 'dokumenNpwp' and dokumen['details']['base64'] != '': + elif dokumen['documentName'] == 'dokumenNpwp' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_npwp = [(4, sppkp_attachment.id)] - elif dokumen['documentName'] == 'dokumenSppkp' and dokumen['details']['base64'] != '': + elif dokumen['documentName'] == 'dokumenSppkp' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_sppkp = [(4, sppkp_attachment.id)] - elif dokumen['documentName'] == 'dokumenAktaPerubahan' and dokumen['details']['base64'] != '': + elif dokumen['documentName'] == 'dokumenAktaPerubahan' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_akta_perubahan = [(4, sppkp_attachment.id)] - elif dokumen['documentName'] == 'dokumenKtpDirut' and dokumen['details']['base64'] != '': + elif dokumen['documentName'] == 'dokumenKtpDirut' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_ktp_dirut = [(4, sppkp_attachment.id)] - elif dokumen['documentName'] == 'dokumenAktaPendirian' and dokumen['details']['base64'] != '': + elif dokumen['documentName'] == 'dokumenAktaPendirian' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_akta_pendirian = [(4, sppkp_attachment.id)] - elif dokumen['documentName'] == 'dokumenLaporanKeuangan' and dokumen['details']['base64'] != '': + elif dokumen['documentName'] == 'dokumenLaporanKeuangan' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_laporan_keuangan = [(4, sppkp_attachment.id)] - elif dokumen['documentName'] == 'dokumenFotoKantor' and dokumen['details']['base64'] != '': + elif dokumen['documentName'] == 'dokumenFotoKantor' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_foto_kantor = [(4, sppkp_attachment.id)] - else: + elif dokumen['documentName'] == 'dokumen_tempat_bekerja' and dokumen['details']['base64'] != '' : pengajuan_tempo.dokumen_tempat_bekerja = [(4, sppkp_attachment.id)] formatted_text = ''.join([' ' + char if char.isupper() and i != 0 else char for i, char in enumerate(dokumen['documentName'])]) @@ -519,9 +519,10 @@ class Partner(controller.Controller): 'tempo_limit': pengajuan_tempo.tempo_limit, }) pengajuan_tempo.user_id = user_account.id - template = pengajuan_tempo.env.ref('indoteknik_custom.mail_template_user_cart_reminder_to_checkout') + template = pengajuan_tempo.env.ref('indoteknik_custom.mail_template_res_user_company_request_tempo_review') template.send_mail(pengajuan_tempo.id, force_send=True) - # user_account.send_activation_mail() + template2 = pengajuan_tempo.env.ref('indoteknik_custom.mail_template_res_user_company_new_tempo_to_sales') + template2.send_mail(pengajuan_tempo.id, force_send=True) return self.response({ 'id': pengajuan_tempo.id, 'user_id': user_id, diff --git a/indoteknik_api/controllers/api_v1/user.py b/indoteknik_api/controllers/api_v1/user.py index 51dae0a2..addf2c9f 100644 --- a/indoteknik_api/controllers/api_v1/user.py +++ b/indoteknik_api/controllers/api_v1/user.py @@ -405,7 +405,7 @@ class User(controller.Controller): @http.route(prefix + 'user/<id>/after_request_tempo', auth='public', methods=['PUT', 'OPTIONS'], csrf=False) @controller.Controller.must_authorized() - def update_user_tempo(self, **kw): + def update_user_tempo_after_request(self, **kw): id = kw.get('id') user = request.env['res.users'].search([('id', '=', id)], limit=1) @@ -414,7 +414,7 @@ class User(controller.Controller): return self.response({ - 'user': self.response_with_token(user, payment_tempo='Review') + 'user': self.response_with_token(user) }) @http.route(prefix + 'user/<id>/address', auth='public', methods=['GET', 'OPTIONS']) diff --git a/indoteknik_api/models/res_partner.py b/indoteknik_api/models/res_partner.py index 9b9f87d4..7b3c8d47 100644 --- a/indoteknik_api/models/res_partner.py +++ b/indoteknik_api/models/res_partner.py @@ -4,10 +4,10 @@ import json class ResPartner(models.Model): _inherit = 'res.partner' - def api_single_response(self, res_partner, with_detail=''): + def api_single_response(self, pengajuan_tempo, with_detail=''): config = self.env['ir.config_parameter'] - partner = res_partner.partner_id + partner = pengajuan_tempo.partner_id dokumen_kirim = [ ['Surat Tanda Terima Barang (STTB)', '0'], @@ -16,10 +16,10 @@ class ResPartner(models.Model): ['Lembar Penerimaan Barang (LPB)', '3'] ] dokumen_pengiriman = [] - if res_partner.dokumen_pengiriman : - res_partner_dokumen_pengiriman = res_partner.dokumen_pengiriman + if pengajuan_tempo.dokumen_pengiriman : + pengajuan_tempo_dokumen_pengiriman = pengajuan_tempo.dokumen_pengiriman mapping_dokumen = {item[0]: item[1] for item in dokumen_kirim} - dokumen_pengiriman_list = [dokumen.strip() for dokumen in res_partner_dokumen_pengiriman.split(',')] + dokumen_pengiriman_list = [dokumen.strip() for dokumen in pengajuan_tempo_dokumen_pengiriman.split(',')] dokumen_pengiriman = [mapping_dokumen.get(dokumen, '4') for dokumen in dokumen_pengiriman_list] dokumen = [ @@ -30,57 +30,57 @@ class ResPartner(models.Model): ['Good Receipt (GR)','4'] ] dokumen_invoice = [] - if res_partner.dokumen_invoice: - res_partner_dokumen_invoice = res_partner.dokumen_invoice + if pengajuan_tempo.dokumen_invoice: + pengajuan_tempo_dokumen_invoice = pengajuan_tempo.dokumen_invoice mapping_dokumen = {item[0]: item[1] for item in dokumen} - dokumen_invoice_list = [dokumen.strip() for dokumen in res_partner_dokumen_invoice.split(',')] + dokumen_invoice_list = [dokumen.strip() for dokumen in pengajuan_tempo_dokumen_invoice.split(',')] dokumen_invoice = [mapping_dokumen.get(dokumen, '4') for dokumen in dokumen_invoice_list] data = { - 'name' : res_partner.name_tempo.name, - 'industry_id' : res_partner.industry_id_tempo.id, - 'street' : res_partner.street_tempo, - 'state' : res_partner.state_id_tempo.id, - 'city' : res_partner.city_id_tempo.id, - 'zip' : res_partner.zip_tempo, - 'mobile' : res_partner.mobile_tempo, - 'bank_name' : res_partner.bank_name_tempo, - 'account_name' : res_partner.account_name_tempo, - 'account_number' : res_partner.account_number_tempo, - 'website' : res_partner.website_tempo if res_partner.website_tempo else '', - 'estimasi' : res_partner.estimasi_tempo, - 'tempo_duration' : res_partner.tempo_duration.id, - 'tempo_limit' : res_partner.tempo_limit, - 'category_produk': ','.join([str(cat.id) for cat in res_partner.category_produk_ids]) if res_partner.category_produk_ids else '', + 'name' : pengajuan_tempo.name_tempo.name, + 'industry_id' : pengajuan_tempo.industry_id_tempo.id, + 'street' : pengajuan_tempo.street_tempo, + 'state' : pengajuan_tempo.state_id_tempo.id, + 'city' : pengajuan_tempo.city_id_tempo.id, + 'zip' : pengajuan_tempo.zip_tempo, + 'mobile' : pengajuan_tempo.mobile_tempo, + 'bank_name' : pengajuan_tempo.bank_name_tempo, + 'account_name' : pengajuan_tempo.account_name_tempo, + 'account_number' : pengajuan_tempo.account_number_tempo, + 'website' : pengajuan_tempo.website_tempo if pengajuan_tempo.website_tempo else '', + 'estimasi' : pengajuan_tempo.estimasi_tempo, + 'tempo_duration' : pengajuan_tempo.tempo_duration.id, + 'tempo_limit' : pengajuan_tempo.tempo_limit, + 'category_produk': ','.join([str(cat.id) for cat in pengajuan_tempo.category_produk_ids]) if pengajuan_tempo.category_produk_ids else '', # Kontak Perusahaan - 'direktur_name' : res_partner.direktur_name if res_partner.direktur_name else '', - 'direktur_mobile' : res_partner.direktur_mobile if res_partner.direktur_mobile else '', - 'direktur_email' : res_partner.direktur_email if res_partner.direktur_email else '', - 'purchasing_name' : res_partner.purchasing_name if res_partner.purchasing_name else '', - 'purchasing_mobile' : res_partner.purchasing_mobile if res_partner.purchasing_mobile else '', - 'purchasing_email' : res_partner.purchasing_email if res_partner.purchasing_email else '', - 'finance_name' : res_partner.finance_name if res_partner.finance_name else '', - 'finance_mobile' : res_partner.finance_mobile if res_partner.finance_mobile else '', - 'finance_email' : res_partner.finance_email if res_partner.finance_email else '', + 'direktur_name' : pengajuan_tempo.direktur_name if pengajuan_tempo.direktur_name else '', + 'direktur_mobile' : pengajuan_tempo.direktur_mobile if pengajuan_tempo.direktur_mobile else '', + 'direktur_email' : pengajuan_tempo.direktur_email if pengajuan_tempo.direktur_email else '', + 'purchasing_name' : pengajuan_tempo.purchasing_name if pengajuan_tempo.purchasing_name else '', + 'purchasing_mobile' : pengajuan_tempo.purchasing_mobile if pengajuan_tempo.purchasing_mobile else '', + 'purchasing_email' : pengajuan_tempo.purchasing_email if pengajuan_tempo.purchasing_email else '', + 'finance_name' : pengajuan_tempo.finance_name if pengajuan_tempo.finance_name else '', + 'finance_mobile' : pengajuan_tempo.finance_mobile if pengajuan_tempo.finance_mobile else '', + 'finance_email' : pengajuan_tempo.finance_email if pengajuan_tempo.finance_email else '', # Pengiriman - 'PIC_name' : res_partner.pic_name if res_partner.pic_name else '', - 'street_pengiriman' : res_partner.street_pengiriman if res_partner.street_pengiriman else '', - 'state_id_pengiriman' : res_partner.state_id_pengiriman.id if res_partner.state_id_pengiriman else '', - 'city_id_pengiriman' : res_partner.city_id_pengiriman.id if res_partner.city_id_pengiriman else '', - 'zip_pengiriman' : res_partner.zip_pengiriman if res_partner.zip_pengiriman else '', - 'invoice_pic' : res_partner.invoice_pic if res_partner.invoice_pic else '', - 'street_invoice' : res_partner.street_invoice if res_partner.street_invoice else '', - 'state_id_invoice' : res_partner.state_id_invoice.id if res_partner.state_id_invoice else '', - 'city_id_invoice' : res_partner.city_id_invoice.id if res_partner.city_id_invoice else '', - 'tukar_invoice' : res_partner.tukar_invoice if res_partner.tukar_invoice else '', - 'jadwal_bayar' : res_partner.jadwal_bayar if res_partner.jadwal_bayar else '', + 'PIC_name' : pengajuan_tempo.pic_name if pengajuan_tempo.pic_name else '', + 'street_pengiriman' : pengajuan_tempo.street_pengiriman if pengajuan_tempo.street_pengiriman else '', + 'state_pengiriman' : pengajuan_tempo.state_id_pengiriman.id if pengajuan_tempo.state_id_pengiriman else '', + 'city_pengiriman' : pengajuan_tempo.city_id_pengiriman.id if pengajuan_tempo.city_id_pengiriman else '', + 'zip_pengiriman' : pengajuan_tempo.zip_pengiriman if pengajuan_tempo.zip_pengiriman else '', + 'invoice_pic' : pengajuan_tempo.invoice_pic if pengajuan_tempo.invoice_pic else '', + 'street_invoice' : pengajuan_tempo.street_invoice if pengajuan_tempo.street_invoice else '', + 'state_invoice' : pengajuan_tempo.state_id_invoice.id if pengajuan_tempo.state_id_invoice else '', + 'city_invoice' : pengajuan_tempo.city_id_invoice.id if pengajuan_tempo.city_id_invoice else '', + 'tukar_invoice_input' : pengajuan_tempo.tukar_invoice if pengajuan_tempo.tukar_invoice else '', + 'tukar_invoice_input_pembayaran' : pengajuan_tempo.jadwal_bayar if pengajuan_tempo.jadwal_bayar else '', 'dokumen_pengiriman' : ','.join(dokumen_pengiriman) if dokumen_pengiriman else '', 'dokumen_pengiriman_invoice' : ','.join(dokumen_invoice) if dokumen_invoice else '', - 'is_same_address': res_partner.is_same_address if res_partner.is_same_address else False, - 'res_partner.is_same_address': res_partner.is_same_address_street if res_partner.is_same_address_street else False, + 'is_same_addrees': pengajuan_tempo.is_same_address if pengajuan_tempo.is_same_address else False, + 'is_same_addrees_street': pengajuan_tempo.is_same_address_street if pengajuan_tempo.is_same_address_street else False, 'supplier_ids': [ { 'id': supplier.id, @@ -90,19 +90,49 @@ class ResPartner(models.Model): 'credit_limit': supplier.credit_limit, 'durasi_tempo': supplier.tempo_duration } - for supplier in res_partner.supplier_ids - ] if res_partner.supplier_ids else '' + for supplier in pengajuan_tempo.supplier_ids + ] if pengajuan_tempo.supplier_ids else '', # Dokumen - # 'dokumen_nib': res_partner.dokumen_nib if res_partner.dokumen_nib else '', - # 'dokumen_npwp': res_partner.dokumen_npwp if res_partner.dokumen_npwp else '', - # 'dokumen_sppkp': res_partner.dokumen_sppkp if res_partner.dokumen_sppkp else '', - # 'dokumen_akta_perubahan': res_partner.dokumen_akta_perubahan if res_partner.dokumen_akta_perubahan else '', - # 'dokumen_ktp_dirut': res_partner.dokumen_ktp_dirut if res_partner.dokumen_ktp_dirut else '', - # 'dokumen_akta_pendirian': res_partner.dokumen_akta_pendirian if res_partner.dokumen_akta_pendirian else '', - # 'dokumen_laporan_keuangan': res_partner.dokumen_laporan_keuangan if res_partner.dokumen_laporan_keuangan else '', - # 'dokumen_foto_kantor': res_partner.dokumen_foto_kantor if res_partner.dokumen_foto_kantor else '', - # 'dokumen_tempat_bekerja': res_partner.dokumen_tempat_bekerja if res_partner.dokumen_tempat_bekerja else '', + 'dokumen_nib': + { + 'name': pengajuan_tempo.dokumen_nib.name, + 'base64': pengajuan_tempo.dokumen_nib.local_url, + } + if pengajuan_tempo.dokumen_nib else '', + 'dokumen_npwp': + { + 'name': pengajuan_tempo.dokumen_npwp.name, + 'base64': pengajuan_tempo.dokumen_npwp.local_url, + } if pengajuan_tempo.dokumen_npwp else '', + 'dokumen_sppkp': { + 'name': pengajuan_tempo.dokumen_sppkp.name, + 'base64': pengajuan_tempo.dokumen_sppkp.local_url, + } if pengajuan_tempo.dokumen_sppkp else '', + 'dokumen_akta_perubahan': { + 'name': pengajuan_tempo.dokumen_akta_perubahan.name, + 'base64': pengajuan_tempo.dokumen_akta_perubahan.local_url, + } if pengajuan_tempo.dokumen_akta_perubahan else '', + 'dokumen_ktp_dirut': { + 'name': pengajuan_tempo.dokumen_ktp_dirut.name, + 'base64': pengajuan_tempo.dokumen_ktp_dirut.local_url, + } if pengajuan_tempo.dokumen_ktp_dirut else '', + 'dokumen_akta_pendirian': { + 'name': pengajuan_tempo.dokumen_akta_pendirian.name, + 'base64': pengajuan_tempo.dokumen_akta_pendirian.local_url, + } if pengajuan_tempo.dokumen_akta_pendirian else '', + 'dokumen_laporan_keuangan': { + 'name': pengajuan_tempo.dokumen_laporan_keuangan.name, + 'base64': pengajuan_tempo.dokumen_laporan_keuangan.local_url, + } if pengajuan_tempo.dokumen_laporan_keuangan else '', + 'dokumen_foto_kantor': { + 'name': pengajuan_tempo.dokumen_foto_kantor.name, + 'base64': pengajuan_tempo.dokumen_foto_kantor.local_url, + } if pengajuan_tempo.dokumen_foto_kantor else '', + 'dokumen_tempat_bekerja': { + 'name': pengajuan_tempo.dokumen_tempat_bekerja.name, + 'base64': pengajuan_tempo.dokumen_tempat_bekerja.local_url, + } if pengajuan_tempo.dokumen_tempat_bekerja else '', } return data
\ No newline at end of file diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py index 15aaa5a7..0c7dd96f 100644 --- a/indoteknik_api/models/res_users.py +++ b/indoteknik_api/models/res_users.py @@ -4,7 +4,7 @@ from odoo.http import request class ResUsers(models.Model): _inherit = 'res.users' - def api_single_response(self, res_user, with_detail='', payment_tempo= ''): + def api_single_response(self, res_user, with_detail=''): config = self.env['ir.config_parameter'] partner = res_user.partner_id @@ -19,8 +19,6 @@ class ResUsers(models.Model): tempo_progres = 'review' if is_tempo_request.state_tempo in ('draft','approval_sales','approval_finance') else '' if main_partner: partner_tempo = main_partner.get_check_payment_term() - if payment_tempo: - tempo_progres = payment_tempo data = { 'id': res_user.id, diff --git a/indoteknik_custom/models/user_company_request.py b/indoteknik_custom/models/user_company_request.py index ea5ca09e..3de3d751 100644 --- a/indoteknik_custom/models/user_company_request.py +++ b/indoteknik_custom/models/user_company_request.py @@ -88,19 +88,19 @@ class UserCompanyRequest(models.Model): if not self.is_approve and is_approve: if is_approve == 'approved': - self.user_id.parent_id = user_company_id.id if user_company_id.id else self.user_company_id.id - self.user_id.customer_type = user_company_id.customer_type - self.user_id.npwp = user_company_id.npwp - self.user_id.sppkp = user_company_id.sppkp - self.user_id.nama_wajib_pajak = user_company_id.nama_wajib_pajak - self.user_id.alamat_lengkap_text = user_company_id.alamat_lengkap_text - self.user_id.industry_id = user_company_id.industry_id.id - self.user_id.company_type_id = user_company_id.company_type_id.id - self.user_id.user_id = user_company_id.user_id - self.user_id.property_account_receivable_id = user_company_id.property_account_receivable_id - self.user_id.property_account_payable_id = user_company_id.property_account_payable_id - self.user_id.property_payment_term_id = user_company_id.property_payment_term_id - self.user_id.property_supplier_payment_term_id = user_company_id.property_supplier_payment_term_id + self.user_id.parent_id = user_company_id if user_company_id else self.user_company_id + self.user_id.customer_type = user_company_id.customer_type if user_company_id else self.user_company_id.customer_type + self.user_id.npwp = user_company_id.npwp if user_company_id else self.user_company_id.npwp + self.user_id.sppkp = user_company_id.sppkp if user_company_id else self.user_company_id.sppkp + self.user_id.nama_wajib_pajak = user_company_id.nama_wajib_pajak if user_company_id else self.user_company_id.nama_wajib_pajak + self.user_id.alamat_lengkap_text = user_company_id.alamat_lengkap_text if user_company_id else self.user_company_id.alamat_lengkap_text + self.user_id.industry_id = user_company_id.industry_id.id if user_company_id else self.user_company_id.industry_id + self.user_id.company_type_id = user_company_id.company_type_id.id if user_company_id else self.user_company_id.company_type_id + self.user_id.user_id = user_company_id.user_id if user_company_id else self.user_company_id.user_id + self.user_id.property_account_receivable_id = user_company_id.property_account_receivable_id if user_company_id else self.user_company_id.property_account_receivable_id + self.user_id.property_account_payable_id = user_company_id.property_account_payable_id if user_company_id else self.user_company_id.property_account_payable_id + self.user_id.property_payment_term_id = user_company_id.property_payment_term_id if user_company_id else self.user_company_id.property_payment_term_id + self.user_id.property_supplier_payment_term_id = user_company_id.property_supplier_payment_term_id if user_company_id else self.user_company_id.property_supplier_payment_term_id self.user_company_id.active = True user.send_company_request_approve_mail() else: |
