summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1/partner.py
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-03-06 14:35:23 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-03-06 14:35:23 +0700
commite9e8fa207275f6dce9046324b18f6148977eba2e (patch)
tree9aa672e2084b8649cd391b15580f0edffab2ccdb /indoteknik_api/controllers/api_v1/partner.py
parent3696d94c52234025390ef92ef8928bee34d0de5b (diff)
<iman> update
Diffstat (limited to 'indoteknik_api/controllers/api_v1/partner.py')
-rw-r--r--indoteknik_api/controllers/api_v1/partner.py536
1 files changed, 272 insertions, 264 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py
index 1d19f03d..74e2b0aa 100644
--- a/indoteknik_api/controllers/api_v1/partner.py
+++ b/indoteknik_api/controllers/api_v1/partner.py
@@ -303,291 +303,299 @@ class Partner(controller.Controller):
@http.route(prefix + 'partner/pengajuan_tempo', auth='public', methods=['POST'], csrf=False)
@controller.Controller.must_authorized()
def write_pengajuan_tempo(self, **kw):
- id = int(kw.get('partner_id'))
- 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', '=', 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.email)
- dokumen_prosedur = kw.get('formDokumenProsedur') if kw.get('formDokumenProsedur') != 'false' else False
-
- params = self.get_request_params(kw, {
-
- # informasi perusahaan
- # 'name': ['required', 'alias:name_tempo'],
- 'industryId': ['alias:industry_id_tempo'],
- 'street': ['alias:street_tempo'],
- 'state': ['alias:state_id_tempo'],
- 'city': ['alias:city_id_tempo'],
- 'district': ['alias:district_id_tempo'],
- 'subDistrict': ['alias:subDistrict_id_tempo'],
- 'zip': ['alias:zip_tempo'],
- 'mobile': ['alias:mobile_tempo'],
- 'bankName': ['alias:bank_name_tempo'],
- 'accountName': ['alias:account_name_tempo'],
- 'accountNumber': ['alias:account_number_tempo'],
- 'website': ['alias:website_tempo'],
- 'estimasi': ['alias:estimasi_tempo'],
- 'portal': ['alias:portal'],
- 'bersedia': ['alias:bersedia'],
- 'tempoDuration': ['alias:tempo_duration'],
- 'tempoLimit': ['alias:tempo_limit'],
-
- # informasi perusahaan
- 'direkturTittle': ['alias:direktur_tittle'],
- 'direkturName': ['alias:direktur_name'],
- 'direkturMobile': ['alias:direktur_mobile'],
- 'direkturEmail': ['alias:direktur_email'],
- 'purchasingTittle': ['alias:purchasing_tittle'],
- 'purchasingName': ['alias:purchasing_name'],
- 'purchasingMobile': ['alias:purchasing_mobile'],
- 'purchasingEmail': ['alias:purchasing_email'],
- 'financeTittle': ['alias:finance_tittle'],
- 'financeName': ['alias:finance_name'],
- 'financeMobile': ['alias:finance_mobile'],
- 'financeEmail': ['alias:finance_email'],
-
- # Pengiriman
- 'PICTittle': ['alias:pic_tittle'],
- 'PICBarangMobile': ['alias:pic_mobile'],
- 'PICName': ['alias:pic_name'],
- 'streetPengiriman': ['alias:street_pengiriman'],
- 'statePengiriman': ['alias:state_id_pengiriman'],
- 'cityPengiriman': ['alias:city_id_pengiriman'],
- 'districtPengiriman': ['alias:district_id_pengiriman'],
- 'subDistrictPengiriman': ['alias:subDistrict_id_pengiriman'],
- 'zipPengiriman': ['alias:zip_pengiriman'],
- 'invoicePicTittle': ['alias:invoice_pic_tittle'],
- 'invoicePicMobile': ['alias:invoice_pic_mobile'],
- 'invoicePic': ['alias:invoice_pic'],
- 'streetInvoice': ['alias:street_invoice'],
- 'stateInvoice': ['alias:state_id_invoice'],
- 'cityInvoice': ['alias:city_id_invoice'],
- 'districtInvoice': ['alias:district_id_invoice'],
- 'subDistrictInvoice': ['alias:subDistrict_id_invoice'],
- 'zipInvoice': ['alias:zip_invoice'],
- 'isSameAddrees':['alias:is_same_address'],
- 'isSameAddreesStreet':['alias:is_same_address_street'],
- })
-
- # # Konversi nilai 'true' ke boolean True
- # is_same_address = kw.get('isSameAddrees', 'false').lower() == 'true'
- # is_same_address_street = kw.get('isSameAddreesStreet', 'false').lower() == 'true'
- #
- # # Tambahkan nilai yang dikonversi ke params
- # if 'isSameAddress' in kw:
- # params['value']['is_same_address'] = is_same_address
- # if 'is_same_address_street' in kw:
- # params['value']['is_same_address_street'] = is_same_address_street
+ try:
+ id = int(kw.get('partner_id'))
+ 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', '=', 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.email)
+ dokumen_prosedur = kw.get('formDokumenProsedur') if kw.get('formDokumenProsedur') != 'false' else False
+
+ params = self.get_request_params(kw, {
+
+ # informasi perusahaan
+ # 'name': ['required', 'alias:name_tempo'],
+ 'industryId': ['alias:industry_id_tempo'],
+ 'street': ['alias:street_tempo'],
+ 'state': ['alias:state_id_tempo'],
+ 'city': ['alias:city_id_tempo'],
+ 'district': ['alias:district_id_tempo'],
+ 'subDistrict': ['alias:subDistrict_id_tempo'],
+ 'zip': ['alias:zip_tempo'],
+ 'mobile': ['alias:mobile_tempo'],
+ 'bankName': ['alias:bank_name_tempo'],
+ 'accountName': ['alias:account_name_tempo'],
+ 'accountNumber': ['alias:account_number_tempo'],
+ 'website': ['alias:website_tempo'],
+ 'estimasi': ['alias:estimasi_tempo'],
+ 'portal': ['alias:portal'],
+ 'bersedia': ['alias:bersedia'],
+ 'tempoDuration': ['alias:tempo_duration'],
+ 'tempoLimit': ['alias:tempo_limit'],
+
+ # informasi perusahaan
+ 'direkturTittle': ['alias:direktur_tittle'],
+ 'direkturName': ['alias:direktur_name'],
+ 'direkturMobile': ['alias:direktur_mobile'],
+ 'direkturEmail': ['alias:direktur_email'],
+ 'purchasingTittle': ['alias:purchasing_tittle'],
+ 'purchasingName': ['alias:purchasing_name'],
+ 'purchasingMobile': ['alias:purchasing_mobile'],
+ 'purchasingEmail': ['alias:purchasing_email'],
+ 'financeTittle': ['alias:finance_tittle'],
+ 'financeName': ['alias:finance_name'],
+ 'financeMobile': ['alias:finance_mobile'],
+ 'financeEmail': ['alias:finance_email'],
+
+ # Pengiriman
+ 'PICTittle': ['alias:pic_tittle'],
+ 'PICBarangMobile': ['alias:pic_mobile'],
+ 'PICName': ['alias:pic_name'],
+ 'streetPengiriman': ['alias:street_pengiriman'],
+ 'statePengiriman': ['alias:state_id_pengiriman'],
+ 'cityPengiriman': ['alias:city_id_pengiriman'],
+ 'districtPengiriman': ['alias:district_id_pengiriman'],
+ 'subDistrictPengiriman': ['alias:subDistrict_id_pengiriman'],
+ 'zipPengiriman': ['alias:zip_pengiriman'],
+ 'invoicePicTittle': ['alias:invoice_pic_tittle'],
+ 'invoicePicMobile': ['alias:invoice_pic_mobile'],
+ 'invoicePic': ['alias:invoice_pic'],
+ 'streetInvoice': ['alias:street_invoice'],
+ 'stateInvoice': ['alias:state_id_invoice'],
+ 'cityInvoice': ['alias:city_id_invoice'],
+ 'districtInvoice': ['alias:district_id_invoice'],
+ 'subDistrictInvoice': ['alias:subDistrict_id_invoice'],
+ 'zipInvoice': ['alias:zip_invoice'],
+ 'isSameAddrees':['alias:is_same_address'],
+ 'isSameAddreesStreet':['alias:is_same_address_street'],
+ })
- if not params['valid']:
- return self.response(code=400, description=params)
- if params['value']['portal']:
- if params['value']['portal'] == 'ada':
- params['value']['portal'] = True
+ # # Konversi nilai 'true' ke boolean True
+ # is_same_address = kw.get('isSameAddrees', 'false').lower() == 'true'
+ # is_same_address_street = kw.get('isSameAddreesStreet', 'false').lower() == 'true'
+ #
+ # # Tambahkan nilai yang dikonversi ke params
+ # if 'isSameAddress' in kw:
+ # params['value']['is_same_address'] = is_same_address
+ # if 'is_same_address_street' in kw:
+ # params['value']['is_same_address_street'] = is_same_address_street
+
+ if not params['valid']:
+ return self.response(code=400, description=params)
+ if params['value']['portal']:
+ if params['value']['portal'] == 'ada':
+ params['value']['portal'] = True
+ else:
+ params['value']['portal'] = False
+ # Filter data baru yang dikirim (non-kosong, boolean False tetap masuk)
+ new_data = {key: value for key, value in params['value'].items() if value != ''}
+
+ if pengajuan_tempo:
+ try:
+ pengajuan_tempo.write(new_data)
+ except Exception as e:
+ return self.response(code=500, description=f'Error updating partner data: {str(e)}')
else:
- params['value']['portal'] = False
- # Filter data baru yang dikirim (non-kosong, boolean False tetap masuk)
- new_data = {key: value for key, value in params['value'].items() if value != ''}
-
- if pengajuan_tempo:
- # Jika pengajuan_tempo sudah ada, hanya write data baru yang non-kosong
- pengajuan_tempo.write(new_data)
- else:
- # Jika belum ada, buat record baru
- pengajuan_tempo = request.env['user.pengajuan.tempo'].create(new_data)
- pengajuan_tempo.partner_id = user_id
-
- if partner_id:
- pengajuan_tempo.name_tempo = partner_id
-
- # Prosedur Pengiriman
- if dokumen_prosedur:
- dokumen_prosedur = json.loads(dokumen_prosedur)
- mimetype, _ = mimetypes.guess_type(dokumen_prosedur['name'])
- mimetype = mimetype or 'application/octet-stream'
- data = base64.b64decode(dokumen_prosedur['base64'])
- sppkp_attachment = request.env['ir.attachment'].create({
- 'name': dokumen_prosedur['name'],
- 'type': 'binary',
- 'datas': base64.b64encode(data),
- 'res_model': 'user.pengajuan.tempo',
- 'res_id': pengajuan_tempo.id,
- 'mimetype': mimetype
- })
- pengajuan_tempo.message_post(body="SPPKP Uploaded", attachment_ids=[sppkp_attachment.id])
- pengajuan_tempo.dokumen_prosedur = [(6, 0, [sppkp_attachment.id])]
-
-
- form_supplier_data = kw.get('formSupplier', False)
-
- if form_supplier_data:
- try:
- form_supplier_data = json.loads(form_supplier_data)
-
- supplier_ids_to_add = []
- for item in form_supplier_data:
- supplier_name = item.get("supplier")
- pic_name = item.get("pic")
- phone = item.get("telepon")
- tempo_duration = item.get("durasiTempo")
- credit_limit = item.get("creditLimit")
-
- new_data = {
- 'name_supplier': supplier_name,
- 'pic_name': pic_name,
- 'phone': phone,
- 'tempo_duration': tempo_duration,
- 'credit_limit': credit_limit,
- }
- new_supplier_data = request.env['user.pengajuan.tempo.line'].create(new_data)
-
- supplier_ids_to_add.append(new_supplier_data.id)
-
- 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'})
- category_produk_ids = kw.get('categoryProduk', False)
- category_ids = ''
- if category_produk_ids:
- category_ids = list(map(int, category_produk_ids.split(',')))
- pengajuan_tempo.category_produk_ids = [(6, 0, category_ids)]
-
- tukar_invoice_input = kw.get('tukarInvoiceInput')
- if tukar_invoice_input:
- pengajuan_tempo.tukar_invoice = tukar_invoice_input
-
- tukar_invoice_input_pembayaran = kw.get('tukarInvoiceInputPembayaran')
- if tukar_invoice_input_pembayaran:
- pengajuan_tempo.jadwal_bayar = tukar_invoice_input_pembayaran
-
- dokumen_kirim = [
- 'Surat Tanda Terima Barang (STTB)',
- 'Good Receipt (GR)',
- 'Surat Terima Barang (STB)',
- 'Lembar Penerimaan Barang (LPB)'
- ]
-
- dokumen_kirim_barang_ids = kw.get('dokumenPengiriman')
- dokumen_kirim_input = kw.get('dokumenKirimInput', '')
- dokumen_kirim_barang_input = kw.get('dokumenPengirimanInput', '')
- dokumen_kirim_barang = []
-
- if dokumen_kirim_barang_ids:
- dokumen_kirim_ids = list(map(int, dokumen_kirim_barang_ids.split(',')))
- dokumen_kirim_barang = [dokumen_kirim[i] for i in dokumen_kirim_ids if 0 <= i < len(dokumen_kirim)]
- if dokumen_kirim_input:
- input_items = [item.strip() for item in dokumen_kirim_input.split(',')]
- dokumen_kirim_barang.extend(item for item in input_items if item and item not in dokumen_kirim_barang)
- pengajuan_tempo.dokumen_kirim_input = dokumen_kirim_input
- if dokumen_kirim_barang:
- pengajuan_tempo.dokumen_pengiriman = ', '.join(dokumen_kirim_barang)
- if dokumen_kirim_barang_input:
- pengajuan_tempo.dokumen_pengiriman_input = dokumen_kirim_barang_input
-
- dokumen = [
- 'Invoice Pembelian',
- 'Surat Jalan',
- 'Berita Acara Serah Terima (BAST)',
- 'Faktur Pajak',
- 'Good Receipt (GR)'
- ]
-
- dokumen_invoice = kw.get('dokumenPengirimanInvoice', '')
- if dokumen_invoice:
- pengajuan_tempo.dokumen_invoice = dokumen_invoice
- user_tempo_request = []
- if tempo_request:
- user_tempo_request = request.env['user.pengajuan.tempo.request'].create({
- 'user_id': id,
- 'pengajuan_tempo_id': pengajuan_tempo.id,
- 'user_company_id': partner_id.id,
- 'tempo_duration': pengajuan_tempo.tempo_duration.id,
- 'tempo_limit': pengajuan_tempo.tempo_limit,
- })
+ try:
+ pengajuan_tempo = request.env['user.pengajuan.tempo'].create(new_data)
+ pengajuan_tempo.partner_id = user_id
+ except Exception as e:
+ return self.response(code=500, description=f'Error creating partner data: {str(e)}')
+
+ if partner_id:
+ pengajuan_tempo.name_tempo = partner_id
+
+ # Prosedur Pengiriman
+ if dokumen_prosedur:
+ dokumen_prosedur = json.loads(dokumen_prosedur)
+ mimetype, _ = mimetypes.guess_type(dokumen_prosedur['name'])
+ mimetype = mimetype or 'application/octet-stream'
+ data = base64.b64decode(dokumen_prosedur['base64'])
+ sppkp_attachment = request.env['ir.attachment'].create({
+ 'name': dokumen_prosedur['name'],
+ 'type': 'binary',
+ 'datas': base64.b64encode(data),
+ 'res_model': 'user.pengajuan.tempo',
+ 'res_id': pengajuan_tempo.id,
+ 'mimetype': mimetype
+ })
+ pengajuan_tempo.message_post(body="SPPKP Uploaded", attachment_ids=[sppkp_attachment.id])
+ pengajuan_tempo.dokumen_prosedur = [(6, 0, [sppkp_attachment.id])]
+
+
+ form_supplier_data = kw.get('formSupplier', False)
+
+ if form_supplier_data:
+ try:
+ form_supplier_data = json.loads(form_supplier_data)
+
+ supplier_ids_to_add = []
+ for item in form_supplier_data:
+ supplier_name = item.get("supplier")
+ pic_name = item.get("pic")
+ phone = item.get("telepon")
+ tempo_duration = item.get("durasiTempo")
+ credit_limit = item.get("creditLimit")
+
+ new_data = {
+ 'name_supplier': supplier_name,
+ 'pic_name': pic_name,
+ 'phone': phone,
+ 'tempo_duration': tempo_duration,
+ 'credit_limit': credit_limit,
+ }
+ new_supplier_data = request.env['user.pengajuan.tempo.line'].create(new_data)
+
+ supplier_ids_to_add.append(new_supplier_data.id)
+
+ 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'})
+ category_produk_ids = kw.get('categoryProduk', False)
+ category_ids = ''
+ if category_produk_ids:
+ category_ids = list(map(int, category_produk_ids.split(',')))
+ pengajuan_tempo.category_produk_ids = [(6, 0, category_ids)]
+
+ tukar_invoice_input = kw.get('tukarInvoiceInput')
+ if tukar_invoice_input:
+ pengajuan_tempo.tukar_invoice = tukar_invoice_input
+
+ tukar_invoice_input_pembayaran = kw.get('tukarInvoiceInputPembayaran')
+ if tukar_invoice_input_pembayaran:
+ pengajuan_tempo.jadwal_bayar = tukar_invoice_input_pembayaran
+
+ dokumen_kirim = [
+ 'Surat Tanda Terima Barang (STTB)',
+ 'Good Receipt (GR)',
+ 'Surat Terima Barang (STB)',
+ 'Lembar Penerimaan Barang (LPB)'
+ ]
+
+ dokumen_kirim_barang_ids = kw.get('dokumenPengiriman')
+ dokumen_kirim_input = kw.get('dokumenKirimInput', '')
+ dokumen_kirim_barang_input = kw.get('dokumenPengirimanInput', '')
+ dokumen_kirim_barang = []
+
+ if dokumen_kirim_barang_ids:
+ dokumen_kirim_ids = list(map(int, dokumen_kirim_barang_ids.split(',')))
+ dokumen_kirim_barang = [dokumen_kirim[i] for i in dokumen_kirim_ids if 0 <= i < len(dokumen_kirim)]
+ if dokumen_kirim_input:
+ input_items = [item.strip() for item in dokumen_kirim_input.split(',')]
+ dokumen_kirim_barang.extend(item for item in input_items if item and item not in dokumen_kirim_barang)
+ pengajuan_tempo.dokumen_kirim_input = dokumen_kirim_input
+ if dokumen_kirim_barang:
+ pengajuan_tempo.dokumen_pengiriman = ', '.join(dokumen_kirim_barang)
+ if dokumen_kirim_barang_input:
+ pengajuan_tempo.dokumen_pengiriman_input = dokumen_kirim_barang_input
+
+ dokumen = [
+ 'Invoice Pembelian',
+ 'Surat Jalan',
+ 'Berita Acara Serah Terima (BAST)',
+ 'Faktur Pajak',
+ 'Good Receipt (GR)'
+ ]
+
+ dokumen_invoice = kw.get('dokumenPengirimanInvoice', '')
+ if dokumen_invoice:
+ pengajuan_tempo.dokumen_invoice = dokumen_invoice
+ user_tempo_request = []
+ if tempo_request:
+ user_tempo_request = request.env['user.pengajuan.tempo.request'].create({
+ 'user_id': id,
+ 'pengajuan_tempo_id': pengajuan_tempo.id,
+ 'user_company_id': partner_id.id,
+ 'tempo_duration': pengajuan_tempo.tempo_duration.id,
+ 'tempo_limit': pengajuan_tempo.tempo_limit,
+ })
- form_dokumen_data = kw.get('formDocs', False)
- if form_dokumen_data:
- try:
- form_dokumen = json.loads(form_dokumen_data)
+ form_dokumen_data = kw.get('formDocs', False)
+ if form_dokumen_data:
+ try:
+ form_dokumen = json.loads(form_dokumen_data)
- for dokumen in form_dokumen:
- if dokumen['details']['base64'] != '':
- mimetype, _ = mimetypes.guess_type(dokumen['details']['name'])
- mimetype = mimetype or 'application/octet-stream'
- data = base64.b64decode(dokumen['details']['base64'])
- sppkp_attachment = request.env['ir.attachment'].create({
- 'name': dokumen['details']['name'],
- 'type': 'binary',
- 'datas': base64.b64encode(data),
- 'res_model': 'user.pengajuan.tempo',
- 'res_id': pengajuan_tempo.id,
- 'mimetype': mimetype
- })
+ for dokumen in form_dokumen:
+ if dokumen['details']['base64'] != '':
+ mimetype, _ = mimetypes.guess_type(dokumen['details']['name'])
+ mimetype = mimetype or 'application/octet-stream'
+ data = base64.b64decode(dokumen['details']['base64'])
+ sppkp_attachment = request.env['ir.attachment'].create({
+ 'name': dokumen['details']['name'],
+ 'type': 'binary',
+ 'datas': base64.b64encode(data),
+ 'res_model': 'user.pengajuan.tempo',
+ 'res_id': pengajuan_tempo.id,
+ 'mimetype': mimetype
+ })
- if dokumen['documentName'] == 'dokumenNib':
- pengajuan_tempo.dokumen_nib = [(6, 0, [sppkp_attachment.id])]
+ if dokumen['documentName'] == 'dokumenNib':
+ pengajuan_tempo.dokumen_nib = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenSiup':
- pengajuan_tempo.dokumen_siup = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenSiup':
+ pengajuan_tempo.dokumen_siup = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenTdp':
- pengajuan_tempo.dokumen_tdp = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenTdp':
+ pengajuan_tempo.dokumen_tdp = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenSkdp':
- pengajuan_tempo.dokumen_skdp = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenSkdp':
+ pengajuan_tempo.dokumen_skdp = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenSkt':
- pengajuan_tempo.dokumen_skt = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenSkt':
+ pengajuan_tempo.dokumen_skt = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenNpwp':
- pengajuan_tempo.dokumen_npwp = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenNpwp':
+ pengajuan_tempo.dokumen_npwp = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenSppkp':
- pengajuan_tempo.dokumen_sppkp = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenSppkp':
+ pengajuan_tempo.dokumen_sppkp = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenAktaPerubahan':
- pengajuan_tempo.dokumen_akta_perubahan = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenAktaPerubahan':
+ pengajuan_tempo.dokumen_akta_perubahan = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenKtpDirut':
- pengajuan_tempo.dokumen_ktp_dirut = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenKtpDirut':
+ pengajuan_tempo.dokumen_ktp_dirut = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenAktaPendirian':
- pengajuan_tempo.dokumen_akta_pendirian = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenAktaPendirian':
+ pengajuan_tempo.dokumen_akta_pendirian = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenLaporanKeuangan':
- pengajuan_tempo.dokumen_laporan_keuangan = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenLaporanKeuangan':
+ pengajuan_tempo.dokumen_laporan_keuangan = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenFotoKantor':
- pengajuan_tempo.dokumen_foto_kantor = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenFotoKantor':
+ pengajuan_tempo.dokumen_foto_kantor = [(6, 0, [sppkp_attachment.id])]
- elif dokumen['documentName'] == 'dokumenTempatBekerja':
- pengajuan_tempo.dokumen_tempat_bekerja = [(6, 0, [sppkp_attachment.id])]
+ elif dokumen['documentName'] == 'dokumenTempatBekerja':
+ pengajuan_tempo.dokumen_tempat_bekerja = [(6, 0, [sppkp_attachment.id])]
- formatted_text = ''.join([' ' + char if char.isupper() and i != 0 else char for i, char in
- enumerate(dokumen['documentName'])])
- teks = formatted_text.strip().title()
- pengajuan_tempo.message_post(body=teks, attachment_ids=[sppkp_attachment.id])
- if tempo_request:
- user_tempo_request.message_post(body=teks, attachment_ids=[sppkp_attachment.id])
+ formatted_text = ''.join([' ' + char if char.isupper() and i != 0 else char for i, char in
+ enumerate(dokumen['documentName'])])
+ teks = formatted_text.strip().title()
+ pengajuan_tempo.message_post(body=teks, attachment_ids=[sppkp_attachment.id])
+ if tempo_request:
+ user_tempo_request.message_post(body=teks, attachment_ids=[sppkp_attachment.id])
- except json.JSONDecodeError:
- return http.Response(status=400, json_body={'error': 'Invalid JSON format for formDokumen'})
+ except json.JSONDecodeError:
+ return http.Response(status=400, json_body={'error': 'Invalid JSON format for formDokumen'})
+
+ if tempo_request:
+ # pengajuan_tempo.user_id = id
+ template = pengajuan_tempo.env.ref('indoteknik_custom.mail_template_res_user_company_request_tempo_review')
+ template.send_mail(pengajuan_tempo.id, force_send=True)
+ 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,
+ })
+ except Exception as e:
+ return self.response(code=500, description=f'Unexpected error: {str(e)}')
- if tempo_request:
- # pengajuan_tempo.user_id = id
- template = pengajuan_tempo.env.ref('indoteknik_custom.mail_template_res_user_company_request_tempo_review')
- template.send_mail(pengajuan_tempo.id, force_send=True)
- 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,
- })
def get_user_by_email(self, email):
return request.env['res.users'].search([