summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-12-04 10:58:46 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-12-04 10:58:46 +0700
commit0aad5455df5d36ef87ab1cbd52030a3cf0bef1d8 (patch)
tree836b3fe58aaf78cc2a6980ee669c332e0bd81ce4
parent585ce08efde0f61ba6462b8e303cb08615f0cf33 (diff)
<iman> update code pengajuan tempo
-rw-r--r--indoteknik_api/controllers/api_v1/partner.py29
-rw-r--r--indoteknik_api/controllers/api_v1/user.py4
-rw-r--r--indoteknik_api/models/res_partner.py142
-rw-r--r--indoteknik_api/models/res_users.py4
-rw-r--r--indoteknik_custom/models/user_company_request.py26
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: