From b00d3caf6cd21ae74872031536ceb2f1ff570316 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Mon, 5 May 2025 11:05:13 +0700 Subject: (andri) NPWP di SO menjadi readonly --- indoteknik_custom/models/sale_order.py | 8 +++++++- indoteknik_custom/views/sale_order.xml | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 4c48684d..baa72dc0 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -204,7 +204,7 @@ class SaleOrder(models.Model): ('nonpkp', 'Non PKP') ], required=True) sppkp = fields.Char(string="SPPKP", required=True, tracking=True) - npwp = fields.Char(string="NPWP", required=True, tracking=True) + npwp = fields.Char(string="NPWP", required=True, tracking=True, compute='_compute_npwp') purchase_total = fields.Monetary(string='Purchase Total', compute='_compute_purchase_total') voucher_id = fields.Many2one(comodel_name='voucher', string='Voucher', copy=False) applied_voucher_id = fields.Many2one(comodel_name='voucher', string='Applied Voucher', copy=False) @@ -995,6 +995,12 @@ class SaleOrder(models.Model): # return ['&', ('order_line.invoice_lines.move_id.move_type', 'in', ('out_invoice', 'out_refund')), ('order_line.invoice_lines.move_id', operator, value)] + @api.depends('partner_id') + def _compute_npwp(self): + for order in self: + partner = order.partner_id.parent_id or order.partner_id + order.npwp = partner.npwp + @api.onchange('partner_id') def onchange_partner_contact(self): parent_id = self.partner_id.parent_id diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml index 10c60e24..376ccb20 100755 --- a/indoteknik_custom/views/sale_order.xml +++ b/indoteknik_custom/views/sale_order.xml @@ -99,7 +99,7 @@ - + -- cgit v1.2.3 From 921bbc2f0b5b82945aebc11e96ba3847c6f2904d Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Mon, 5 May 2025 11:48:57 +0700 Subject: (andri) Make the SPPKP & Customer Type columns read-only in SO and ensure the data (along with NPWP) is connected to the contact --- indoteknik_custom/models/sale_order.py | 13 +++++++------ indoteknik_custom/views/sale_order.xml | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index baa72dc0..0711e33a 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -202,9 +202,9 @@ class SaleOrder(models.Model): customer_type = fields.Selection([ ('pkp', 'PKP'), ('nonpkp', 'Non PKP') - ], required=True) - sppkp = fields.Char(string="SPPKP", required=True, tracking=True) - npwp = fields.Char(string="NPWP", required=True, tracking=True, compute='_compute_npwp') + ], required=True, compute='_compute_partner_field') + sppkp = fields.Char(string="SPPKP", required=True, tracking=True, compute='_compute_partner_field') + npwp = fields.Char(string="NPWP", required=True, tracking=True, compute='_compute_partner_field') purchase_total = fields.Monetary(string='Purchase Total', compute='_compute_purchase_total') voucher_id = fields.Many2one(comodel_name='voucher', string='Voucher', copy=False) applied_voucher_id = fields.Many2one(comodel_name='voucher', string='Applied Voucher', copy=False) @@ -994,12 +994,13 @@ class SaleOrder(models.Model): # return [('id', 'not in', order_ids)] # return ['&', ('order_line.invoice_lines.move_id.move_type', 'in', ('out_invoice', 'out_refund')), ('order_line.invoice_lines.move_id', operator, value)] - @api.depends('partner_id') - def _compute_npwp(self): + def _compute_partner_field(self): for order in self: partner = order.partner_id.parent_id or order.partner_id - order.npwp = partner.npwp + order.npwp = partner.npwp + order.sppkp = partner.sppkp + order.customer_type = partner.customer_type @api.onchange('partner_id') def onchange_partner_contact(self): diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml index 376ccb20..633ac6d1 100755 --- a/indoteknik_custom/views/sale_order.xml +++ b/indoteknik_custom/views/sale_order.xml @@ -98,9 +98,9 @@ - + - + -- cgit v1.2.3