From 6fbfe31167e6eb66d4995374dadb14774026e8c7 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Mon, 2 Dec 2024 09:31:13 +0700 Subject: pengajuan tempo update --- indoteknik_api/controllers/api_v1/partner.py | 34 ++- indoteknik_api/controllers/api_v1/user.py | 16 +- indoteknik_api/models/res_users.py | 15 +- indoteknik_custom/models/res_partner.py | 7 +- indoteknik_custom/models/res_users.py | 5 + indoteknik_custom/models/solr/apache_solr.py | 2 +- indoteknik_custom/models/user_pengajuan_tempo.py | 15 ++ .../models/user_pengajuan_tempo_request.py | 261 +++++++++++++-------- indoteknik_custom/views/res_users.xml | 2 + indoteknik_custom/views/user_pengajuan_tempo.xml | 205 ++++++++++++++++ .../views/user_pengajuan_tempo_request.xml | 30 ++- 11 files changed, 460 insertions(+), 132 deletions(-) diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 088f6f5b..19c73aec 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -265,16 +265,29 @@ class Partner(controller.Controller): return self.response(data) + @http.route(prefix + 'check//tempo_progress', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def get_check_tempo_partner_progres(self, **kw): + partner_id = int(kw.get('partner_id')) + partner = request.env['res.partner'].search([('id', '=', partner_id)], limit=1) + pengajuan_tempo = request.env['user.pengajuan.tempo'].search([('name_tempo', '=', partner.id)], limit=1) + if not pengajuan_tempo: + return self.response(code=404, description='Partner not found') + + data = True if pengajuan_tempo.id else False + return self.response(data) + @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')) - id = int(kw.get('id')) - tempo_request = kw.get('tempo_request',False) + 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.users'].search([('id', '=', user_id)], limit=1) + user = request.env['res.partner'].search([('id', '=', 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) params = self.get_request_params(kw, { @@ -499,10 +512,23 @@ class Partner(controller.Controller): return http.Response(status=400, json_body={'error': 'Invalid JSON format for formDokumen'}) if tempo_request: tempo_request = request.env['user.pengajuan.tempo.request'].create({ - 'user_id': user.partner_id.id, + 'user_id': user.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, }) + pengajuan_tempo.user_id = user_account.id + template = pengajuan_tempo.env.ref('indoteknik_custom.mail_template_user_cart_reminder_to_checkout') + template.send_mail(pengajuan_tempo.id, force_send=True) + # user_account.send_activation_mail() return self.response({ 'id': pengajuan_tempo.id, 'user_id': user_id, }) + + def get_user_by_email(self, email): + return request.env['res.users'].search([ + ('login', '=', email), + ('active', 'in', [True, False]) + ]) \ No newline at end of file diff --git a/indoteknik_api/controllers/api_v1/user.py b/indoteknik_api/controllers/api_v1/user.py index 3be874fa..f83937ea 100644 --- a/indoteknik_api/controllers/api_v1/user.py +++ b/indoteknik_api/controllers/api_v1/user.py @@ -179,7 +179,7 @@ class User(controller.Controller): if result: match_company_name = result[0] - match_company_id = result[2] + match_company_id = result[1] # Create a user company request request.env['user.company.request'].create({ @@ -403,6 +403,20 @@ class User(controller.Controller): 'user': self.response_with_token(user) }) + @http.route(prefix + 'user//after_request_tempo', auth='public', methods=['PUT', 'OPTIONS'], csrf=False) + @controller.Controller.must_authorized() + def update_user_tempo(self, **kw): + id = kw.get('id') + + user = request.env['res.users'].search([('id', '=', id)], limit=1) + if not user: + return self.response(code=404, description='User not found') + + + return self.response({ + 'user': self.response_with_token(user, payment_tempo='Review') + }) + @http.route(prefix + 'user//address', auth='public', methods=['GET', 'OPTIONS']) @controller.Controller.must_authorized() def get_user_address_by_id(self, **kw): diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py index 52a044dc..40933957 100644 --- a/indoteknik_api/models/res_users.py +++ b/indoteknik_api/models/res_users.py @@ -1,10 +1,10 @@ from odoo import models - +from odoo.http import request class ResUsers(models.Model): _inherit = 'res.users' - def api_single_response(self, res_user, with_detail=''): + def api_single_response(self, res_user, with_detail='', payment_tempo= ''): config = self.env['ir.config_parameter'] partner = res_user.partner_id @@ -14,9 +14,13 @@ class ResUsers(models.Model): 'manager': 2, 'director': 3 } - partner_tempo = False + partner_tempo = '' + is_tempo_request = request.env['user.pengajuan.tempo.request'].search([('name_tempo', '=', partner.id)], limit=1) + tempo_progres = 'review' if is_tempo_request else '' if main_partner: - partner_tempo = main_partner.get_check_tempo_partner() + partner_tempo = main_partner.get_check_payment_term() + if payment_tempo: + tempo_progres = payment_tempo data = { 'id': res_user.id, @@ -36,7 +40,8 @@ class ResUsers(models.Model): 'so_approval': main_partner.use_so_approval, 'only_ready_stock': main_partner.use_only_ready_stock }, - 'partner_tempo': partner_tempo + 'partner_tempo': partner_tempo, + 'tempo_progres': tempo_progres } return data diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index f01ea481..b21b1965 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -406,13 +406,10 @@ class ResPartner(models.Model): if self.customer_type == 'nonpkp': self.npwp = '00.000.000.0-000.000' - def get_check_tempo_partner(self): + def get_check_payment_term(self): self.ensure_one() partner = self.parent_id or self - if not partner.property_payment_term_id or 'Tempo' not in partner.property_payment_term_id.name: - return False - else: - return True + return partner.property_payment_term_id.name if partner.property_payment_term_id.id else 'Cash Before Delivery (C.B.D)' diff --git a/indoteknik_custom/models/res_users.py b/indoteknik_custom/models/res_users.py index 5e16aad1..fb9e8bfb 100755 --- a/indoteknik_custom/models/res_users.py +++ b/indoteknik_custom/models/res_users.py @@ -46,6 +46,11 @@ class ResUsers(models.Model): for user in self: template.send_mail(user.id, force_send=True) + def send_company_request_tempo_review(self): + template = self.env.ref('indoteknik_custom.mail_template_res_user_company_tempo_review') + for user in self: + template.send_mail(user.id, force_send=True) + def get_activation_token_url(self): base_url = self.env['ir.config_parameter'].get_param('site.base.url') return f'{base_url}/register?activation=token&token={self.activation_token}' diff --git a/indoteknik_custom/models/solr/apache_solr.py b/indoteknik_custom/models/solr/apache_solr.py index 6560c9b5..d111c1c1 100644 --- a/indoteknik_custom/models/solr/apache_solr.py +++ b/indoteknik_custom/models/solr/apache_solr.py @@ -22,7 +22,7 @@ class ApacheSolr(models.Model): url = '' if env == 'development': - url = 'http://192.168.23.5:8983/solr/' + url = 'http://localhost:8983/solr/' elif env == 'production': url = 'http://34.101.189.218:8983/solr/' diff --git a/indoteknik_custom/models/user_pengajuan_tempo.py b/indoteknik_custom/models/user_pengajuan_tempo.py index d8a6d106..006bbb55 100644 --- a/indoteknik_custom/models/user_pengajuan_tempo.py +++ b/indoteknik_custom/models/user_pengajuan_tempo.py @@ -18,6 +18,9 @@ class UserPengajuanTempo(models.Model): _name = 'user.pengajuan.tempo' _inherit = ['mail.thread', 'mail.activity.mixin'] partner_id = fields.Char() + _description = 'User Pengajuan Tempo' + + name = fields.Char(string='Name', required=True) # informasi perusahaan # name_tempo = fields.Many2one( @@ -31,6 +34,7 @@ class UserPengajuanTempo(models.Model): 'res.partner', string='Nama Perusahaan', tracking=True, # Menambahkan tracking=True ) + user_id = fields.Many2one('res.users', string='User') industry_id_tempo = fields.Many2one('res.partner.industry', 'Customer Industry', readonly=True) street_tempo = fields.Char(string="Alamat Perusahaan") state_id_tempo = fields.Many2one('res.country.state', string='State') @@ -97,6 +101,17 @@ class UserPengajuanTempo(models.Model): string=" Foto Kantor (Tampak Depan)", tracking=3) dokumen_tempat_bekerja = fields.Many2many('ir.attachment', 'pengajuan_dokumen_tempat_bekerja_rel', string="Tempat Bekerja", tracking=3) + + @api.depends('name', 'name_tempo') + def name_get(self): + result = [] + for record in self: + if record.name_tempo: + display_name = f"DETAIL FORM TEMPO - {record.name_tempo.name}" + else: + display_name = "DETAIL FORM TEMPO" + result.append((record.id, display_name)) + return result # # def _compute_attachment_url(self): # if self.id: diff --git a/indoteknik_custom/models/user_pengajuan_tempo_request.py b/indoteknik_custom/models/user_pengajuan_tempo_request.py index 438d48cc..b7526238 100644 --- a/indoteknik_custom/models/user_pengajuan_tempo_request.py +++ b/indoteknik_custom/models/user_pengajuan_tempo_request.py @@ -4,118 +4,171 @@ from odoo.http import request class UserPengajuanTempoRequest(models.Model): _name = 'user.pengajuan.tempo.request' + _inherit = ['mail.thread', 'mail.activity.mixin'] _rec_name = 'user_id' user_id = fields.Many2one('res.partner', string='User') - is_approve = fields.Selection([ - ('approved', 'Approve'), - ('rejected', 'Reject'), - ], string='Approval') + user_company_id = fields.Many2one('res.partner', string='Company') pengajuan_tempo_id = fields.Many2one('user.pengajuan.tempo', string='Form Tempo') + tempo_duration = fields.Many2one('account.payment.term', string='Durasi Tempo') + tempo_limit = fields.Char(string='Limit Tempo') + state_tempo = fields.Selection([ + ('draft', 'Pengajuan Tempo'), + ('approval_sales', 'Approved by Sales Manager'), + ('approval_finance', 'Approved by Finance'), + ('approval_director', 'Approved by Director'), + ], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', default='draft') + + @api.onchange('tempo_duration') + def _tempo_duration_change(self): + for tempo in self: + if tempo.env.user.id not in (7, 377): + raise UserError("Durasi tempo hanya bisa di ubah oleh Sales Manager atau Direktur") + + @api.onchange('tempo_limit') + def _tempo_limit_change(self): + for tempo in self: + if tempo.env.user.id not in (7, 377): + raise UserError("Limit tempo hanya bisa di ubah oleh Sales Manager atau Direktur") + + def button_approve(self): + for tempo in self: + if tempo.state_tempo == 'draft': + if tempo.env.user.id in (688, 28, 7): + raise UserError("Pengajuan tempo harus di approve oleh sales manager terlebih dahulu") + else: + # if tempo.env.user.id != 377: + if tempo.env.user.id != 25: + raise UserError("Pengajuan tempo hanya bisa di approve oleh sales manager") + else: + tempo.state_tempo = 'approval_sales' + + elif tempo.state_tempo == 'approval_sales': + if tempo.env.user.id == 7: + raise UserError("Pengajuan tempo harus di approve oleh Finence terlebih dahulu") + else: + # if tempo.env.user.id not in (688, 28): + if tempo.env.user.id not in (101): + raise UserError("Pengajuan tempo hanya bisa di approve oleh Finence") + else: + tempo.state_tempo = 'approval_finance' + + elif tempo.state_tempo == 'approval_finance': + # if tempo.env.user.id != 7: + if tempo.env.user.id != 12182: + raise UserError("Pengajuan tempo hanya bisa di approve oleh Direktur") + else: + tempo.state_tempo = 'approval_director' + + + + res = super(UserPengajuanTempoRequest, self).button_approve() + return res + def write(self, vals): user = self.get_user_by_email(self.user_id.email) - is_approve = vals.get('is_approve') - company_id = '' - if self.is_approve and is_approve: - raise UserError('Tidak dapat mengubah approval yang sudah diisi') - - if not self.is_approve and is_approve: - if is_approve == 'approved': - self.pengajuan_tempo_id.partner_id = self.user_id.id - # informasi perusahaan - company_id.name_tempo = self.pengajuan_tempo_id.name_tempo - company_id.industry_id_tempo = self.pengajuan_tempo_id.industry_id_tempo - company_id.street_tempo = self.pengajuan_tempo_id.street_tempo - company_id.state_id_tempo = self.pengajuan_tempo_id.state_id_tempo - company_id.city_id_tempo = self.pengajuan_tempo_id.city_id_tempo - company_id.zip_tempo = self.pengajuan_tempo_id.zip_tempo - company_id.mobile_tempo = self.pengajuan_tempo_id.mobile_tempo - company_id.bank_name_tempo = self.pengajuan_tempo_id.bank_name_tempo - company_id.account_name_tempo = self.pengajuan_tempo_id.account_name_tempo - company_id.account_number_tempo = self.pengajuan_tempo_id.account_number_tempo - company_id.website_tempo = self.pengajuan_tempo_id.website_tempo - company_id.estimasi_tempo = self.pengajuan_tempo_id.estimasi_tempo - company_id.tempo_duration = self.pengajuan_tempo_id.tempo_duration - company_id.tempo_limit = self.pengajuan_tempo_id.tempo_limit - company_id.category_produk_ids = self.pengajuan_tempo_id.category_produk_ids - - # Kontak Perusahaan - company_id.direktur_name = self.pengajuan_tempo_id.direktur_name - company_id.direktur_mobile = self.pengajuan_tempo_id.direktur_mobile - company_id.direktur_email = self.pengajuan_tempo_id.direktur_email - company_id.purchasing_name = self.pengajuan_tempo_id.purchasing_name - company_id.purchasing_mobile = self.pengajuan_tempo_id.purchasing_mobile - company_id.purchasing_email = self.pengajuan_tempo_id.purchasing_email - company_id.finance_name = self.pengajuan_tempo_id.finance_name - company_id.finance_mobile = self.pengajuan_tempo_id.finance_mobile - company_id.finance_email = self.pengajuan_tempo_id.finance_email - - # Pengiriman - company_id.pic_name = self.pengajuan_tempo_id.pic_name - company_id.street_pengiriman = self.pengajuan_tempo_id.street_pengiriman - company_id.state_id_pengiriman = self.pengajuan_tempo_id.state_id_pengiriman - company_id.city_id_pengiriman = self.pengajuan_tempo_id.city_id_pengiriman - company_id.zip_pengiriman = self.pengajuan_tempo_id.zip_pengiriman - company_id.invoice_pic = self.pengajuan_tempo_id.invoice_pic - company_id.street_invoice = self.pengajuan_tempo_id.street_invoice - company_id.state_id_invoice = self.pengajuan_tempo_id.state_id_invoice - company_id.city_id_invoice = self.pengajuan_tempo_id.city_id_invoice - company_id.tukar_invoice = self.pengajuan_tempo_id.tukar_invoice - company_id.jadwal_bayar = self.pengajuan_tempo_id.jadwal_bayar - company_id.dokumen_pengiriman = self.pengajuan_tempo_id.dokumen_pengiriman - company_id.dokumen_invoice = self.pengajuan_tempo_id.dokumen_invoice - - # Referensi - company_id.supplier_ids = self.pengajuan_tempo_id.supplier_ids - - # Dokumen - company_id.dokumen_nib = self.pengajuan_tempo_id.dokumen_nib - if company_id.dokumen_nib: - company_id.message_post(body='Dokumen NIB', attachment_ids=[company_id.dokumen_nib.id]) - - company_id.dokumen_npwp = self.pengajuan_tempo_id.dokumen_npwp - if company_id.dokumen_npwp: - company_id.message_post(body='Dokumen NPWP', attachment_ids=[company_id.dokumen_npwp.id]) - - company_id.dokumen_sppkp = self.pengajuan_tempo_id.dokumen_sppkp - if company_id.dokumen_sppkp: - company_id.message_post(body='Dokumen SPPKP', attachment_ids=[company_id.dokumen_sppkp.id]) - - company_id.dokumen_akta_perubahan = self.pengajuan_tempo_id.dokumen_akta_perubahan - if company_id.dokumen_akta_perubahan: - company_id.message_post(body='Dokumen Akta Perubahan', - attachment_ids=[company_id.dokumen_akta_perubahan.id]) - - company_id.dokumen_ktp_dirut = self.pengajuan_tempo_id.dokumen_ktp_dirut - if company_id.dokumen_ktp_dirut: - company_id.message_post(body='Dokumen Ktp Dirut', - attachment_ids=[company_id.dokumen_ktp_dirut.id]) - - company_id.dokumen_akta_pendirian = self.pengajuan_tempo_id.dokumen_akta_pendirian - if company_id.dokumen_akta_pendirian: - company_id.message_post(body='Dokumen Akta Pendirian', - attachment_ids=[company_id.dokumen_akta_pendirian.id]) - - company_id.dokumen_laporan_keuangan = self.pengajuan_tempo_id.dokumen_laporan_keuangan - if company_id.dokumen_laporan_keuangan: - company_id.message_post(body='Dokumen Laporan Keuangan', - attachment_ids=[company_id.dokumen_laporan_keuangan.id]) - - company_id.dokumen_foto_kantor = self.pengajuan_tempo_id.dokumen_foto_kantor - if company_id.dokumen_foto_kantor: - company_id.message_post(body='Dokumen Foto Kantor', - attachment_ids=[company_id.dokumen_foto_kantor.id]) - - company_id.dokumen_tempat_bekerja = self.pengajuan_tempo_id.dokumen_tempat_bekerja - if company_id.dokumen_tempat_bekerja: - company_id.message_post(body='Dokumen Tempat Bekerja', - attachment_ids=[company_id.dokumen_tempat_bekerja.id]) + is_approve = True if self.state_tempo == 'approval_director' else False + # if self.is_approve and is_approve: + # raise UserError('Tidak dapat mengubah approval yang sudah diisi') + + if is_approve: + self.pengajuan_tempo_id.partner_id = self.user_id.id + # informasi perusahaan + self.user_company_id.name_tempo = self.pengajuan_tempo_id.name_tempo + self.user_company_id.industry_id_tempo = self.pengajuan_tempo_id.industry_id_tempo + self.user_company_id.street_tempo = self.pengajuan_tempo_id.street_tempo + self.user_company_id.state_id_tempo = self.pengajuan_tempo_id.state_id_tempo + self.user_company_id.city_id_tempo = self.pengajuan_tempo_id.city_id_tempo + self.user_company_id.zip_tempo = self.pengajuan_tempo_id.zip_tempo + self.user_company_id.mobile_tempo = self.pengajuan_tempo_id.mobile_tempo + self.user_company_id.bank_name_tempo = self.pengajuan_tempo_id.bank_name_tempo + self.user_company_id.account_name_tempo = self.pengajuan_tempo_id.account_name_tempo + self.user_company_id.account_number_tempo = self.pengajuan_tempo_id.account_number_tempo + self.user_company_id.website_tempo = self.pengajuan_tempo_id.website_tempo + self.user_company_id.estimasi_tempo = self.pengajuan_tempo_id.estimasi_tempo + self.user_company_id.tempo_duration = vals.get('tempo_duration') if vals.get('tempo_duration') else self.pengajuan_tempo_id.tempo_duration + self.user_company_id.tempo_limit = vals.get('tempo_limit') if vals.get('tempo_limit') else self.pengajuan_tempo_id.tempo_limit + self.user_company_id.category_produk_ids = self.pengajuan_tempo_id.category_produk_ids + + # Kontak Perusahaan + self.user_company_id.direktur_name = self.pengajuan_tempo_id.direktur_name + self.user_company_id.direktur_mobile = self.pengajuan_tempo_id.direktur_mobile + self.user_company_id.direktur_email = self.pengajuan_tempo_id.direktur_email + self.user_company_id.purchasing_name = self.pengajuan_tempo_id.purchasing_name + self.user_company_id.purchasing_mobile = self.pengajuan_tempo_id.purchasing_mobile + self.user_company_id.purchasing_email = self.pengajuan_tempo_id.purchasing_email + self.user_company_id.finance_name = self.pengajuan_tempo_id.finance_name + self.user_company_id.finance_mobile = self.pengajuan_tempo_id.finance_mobile + self.user_company_id.finance_email = self.pengajuan_tempo_id.finance_email + + # Pengiriman + self.user_company_id.pic_name = self.pengajuan_tempo_id.pic_name + self.user_company_id.street_pengiriman = self.pengajuan_tempo_id.street_pengiriman + self.user_company_id.state_id_pengiriman = self.pengajuan_tempo_id.state_id_pengiriman + self.user_company_id.city_id_pengiriman = self.pengajuan_tempo_id.city_id_pengiriman + self.user_company_id.zip_pengiriman = self.pengajuan_tempo_id.zip_pengiriman + self.user_company_id.invoice_pic = self.pengajuan_tempo_id.invoice_pic + self.user_company_id.street_invoice = self.pengajuan_tempo_id.street_invoice + self.user_company_id.state_id_invoice = self.pengajuan_tempo_id.state_id_invoice + self.user_company_id.city_id_invoice = self.pengajuan_tempo_id.city_id_invoice + self.user_company_id.tukar_invoice = self.pengajuan_tempo_id.tukar_invoice + self.user_company_id.jadwal_bayar = self.pengajuan_tempo_id.jadwal_bayar + self.user_company_id.dokumen_pengiriman = self.pengajuan_tempo_id.dokumen_pengiriman + self.user_company_id.dokumen_invoice = self.pengajuan_tempo_id.dokumen_invoice + + # Referensi + self.user_company_id.supplier_ids = self.pengajuan_tempo_id.supplier_ids + + # Dokumen + self.user_company_id.dokumen_nib = self.pengajuan_tempo_id.dokumen_nib + if self.user_company_id.dokumen_nib: + self.user_company_id.message_post(body='Dokumen NIB', attachment_ids=[self.user_company_id.dokumen_nib.id]) + + self.user_company_id.dokumen_npwp = self.pengajuan_tempo_id.dokumen_npwp + if self.user_company_id.dokumen_npwp: + self.user_company_id.message_post(body='Dokumen NPWP', attachment_ids=[self.user_company_id.dokumen_npwp.id]) + + self.user_company_id.dokumen_sppkp = self.pengajuan_tempo_id.dokumen_sppkp + if self.user_company_id.dokumen_sppkp: + self.user_company_id.message_post(body='Dokumen SPPKP', attachment_ids=[self.user_company_id.dokumen_sppkp.id]) + + self.user_company_id.dokumen_akta_perubahan = self.pengajuan_tempo_id.dokumen_akta_perubahan + if self.user_company_id.dokumen_akta_perubahan: + self.user_company_id.message_post(body='Dokumen Akta Perubahan', + attachment_ids=[self.user_company_id.dokumen_akta_perubahan.id]) + + self.user_company_id.dokumen_ktp_dirut = self.pengajuan_tempo_id.dokumen_ktp_dirut + if self.user_company_id.dokumen_ktp_dirut: + self.user_company_id.message_post(body='Dokumen Ktp Dirut', + attachment_ids=[self.user_company_id.dokumen_ktp_dirut.id]) + + self.user_company_id.dokumen_akta_pendirian = self.pengajuan_tempo_id.dokumen_akta_pendirian + if self.user_company_id.dokumen_akta_pendirian: + self.user_company_id.message_post(body='Dokumen Akta Pendirian', + attachment_ids=[self.user_company_id.dokumen_akta_pendirian.id]) + + self.user_company_id.dokumen_laporan_keuangan = self.pengajuan_tempo_id.dokumen_laporan_keuangan + if self.user_company_id.dokumen_laporan_keuangan: + self.user_company_id.message_post(body='Dokumen Laporan Keuangan', + attachment_ids=[self.user_company_id.dokumen_laporan_keuangan.id]) + + self.user_company_id.dokumen_foto_kantor = self.pengajuan_tempo_id.dokumen_foto_kantor + if self.user_company_id.dokumen_foto_kantor: + self.user_company_id.message_post(body='Dokumen Foto Kantor', + attachment_ids=[self.user_company_id.dokumen_foto_kantor.id]) + + self.user_company_id.dokumen_tempat_bekerja = self.pengajuan_tempo_id.dokumen_tempat_bekerja + if self.user_company_id.dokumen_tempat_bekerja: + self.user_company_id.message_post(body='Dokumen Tempat Bekerja', + attachment_ids=[self.user_company_id.dokumen_tempat_bekerja.id]) # self.user_company_id.active = True # user.send_company_request_approve_mail() - else: - new_company = self.env['res.partner'].create({ - 'name': self.user_input - }) + self.user_company_id.property_payment_term_id = self.pengajuan_tempo_id.tempo_duration.id + self.user_company_id.active_limit = True + self.user_company_id.warning_stage = self.pengajuan_tempo_id.tempo_limit - (int(self.pengajuan_tempo_id.tempo_limit)/2) + self.user_company_id.blocking_stage = self.pengajuan_tempo_id.tempo_limit + template = self.env.ref('indoteknik_custom.mail_template_user_cart_reminder_to_checkout') + template.send_mail(latest_cart.id, force_send=True) # self.user_id.parent_id = new_company.id # user.send_company_request_reject_mail() return super(UserPengajuanTempoRequest, self).write(vals) diff --git a/indoteknik_custom/views/res_users.xml b/indoteknik_custom/views/res_users.xml index 39b9d43e..d7a6b2dd 100644 --- a/indoteknik_custom/views/res_users.xml +++ b/indoteknik_custom/views/res_users.xml @@ -254,5 +254,7 @@ + + \ No newline at end of file diff --git a/indoteknik_custom/views/user_pengajuan_tempo.xml b/indoteknik_custom/views/user_pengajuan_tempo.xml index 9874d79d..5b8ed293 100644 --- a/indoteknik_custom/views/user_pengajuan_tempo.xml +++ b/indoteknik_custom/views/user_pengajuan_tempo.xml @@ -116,6 +116,211 @@ + + Users: Company Request Tempo Review + + Permohonan Tempo Anda Sedang Ditinjau + "Indoteknik.com" <noreply@indoteknik.com> + noreply@indoteknik.com + ${object.user_id.login | safe} + + + +
+ + + + + + + + + + + + +
+ + + + + + + + +
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + +
Hai. ${object.name_tempo.name},
Terima kasih atas kepercayaan Anda memilih indoteknik.com. Kami telah menerima permohonan pemayaran tempo Anda.
Saat ini, tim kami sedang melakukan peninjauan terhadap permohonan Anda. Proses peninjauan ini membutuhkan waktu.
Kami akan informasikan kembali mengenai hasil peninjauan pembayaran tempo anda melalui email ini.
Hormat kami,
PT. INDOTEKNIK DOTCOM GEMILANG
+ Indoteknik +
+
+
+
+
+
+
+ + + Users: Company Tempo Reject + + Mohon Maaf Pengajuan Tempo anda kami Tolak + "Indoteknik.com" <noreply@indoteknik.com> + noreply@indoteknik.com + ${object.user_id.login | safe} + + + +
+ + + + + + + + + + + + +
+ + + + + + + + +
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + +
Hai. ${object.name_tempo.name},
Kami sampaikan dengan sangat menyesal bahwa pengajuan permohonan tempo pembayaran Anda yang diajukan pada tanggal ${format_date(object.create_date, 'dd MMMM yyyy')} tidak dapat kami setujui.
Keputusan ini telah kami pertimbangkan secara matang berdasarkan beberapa faktor, termasuk [alasan penolakan, misal: riwayat pembayaran, profil kredit, atau kebijakan perusahaan].
Kami memahami bahwa hal ini mungkin mengecewakan. Namun, kami berharap Anda dapat memahami kebijakan perusahaan kami.
Terima kasih atas pengertiannya.
Hormat kami,
PT. INDOTEKNIK DOTCOM GEMILANG
+ Indoteknik +
+
+
+
+
+
+
+ + + Users: Company Tempo Approved + + Pengajuan Tempo kamu di Indoteknik.com Telah Disetujui! + "Indoteknik.com" <noreply@indoteknik.com> + noreply@indoteknik.com + ${object.user_id.login | safe} + + + +
+ + + + + + + + + + + + +
+ + + + + + + + +
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + +
Hai. ${object.name_tempo.name},
Kabar baik! Kami dengan senang hati menginformasikan bahwa pengajuan tempo pembayaran kamui di Indoteknik.com telah disetujui dengan detail sebagai berikut.
Limit Pembayaran Tempo : Rp ${object.format_currency(object.tempo_limit)}
Durasi Pembayaran Tempo : ${object.tempo_duration.name}
Kamu dapat melakukan pembayaran sesuai dengan jangka waktu yang telah disepakati. Detail lengkap mengenai transaksi kamu, termasuk tanggal jatuh tempo & Pengajuan Kenaikan Limit Tempo, dapat kamu lihat di akun Profile Indoteknik.com.
Terima kasih atas kepercayaan kamu kepada Indoteknik.com.
Hormat kami,
PT. INDOTEKNIK DOTCOM GEMILANG
+ Indoteknik +
+
+
+
+
+
+
+ Pengajuan Tempo diff --git a/indoteknik_custom/views/user_pengajuan_tempo_request.xml b/indoteknik_custom/views/user_pengajuan_tempo_request.xml index 3b08799c..4a8243da 100644 --- a/indoteknik_custom/views/user_pengajuan_tempo_request.xml +++ b/indoteknik_custom/views/user_pengajuan_tempo_request.xml @@ -7,12 +7,6 @@ - @@ -23,17 +17,29 @@ user.pengajuan.tempo.request
+
+
- + + -- cgit v1.2.3