From 0198b0a0683cc7db1241ec9b7184c2cb608ba049 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Tue, 15 Jul 2025 11:52:33 +0700 Subject: (andri) fix edit unit price PO --- indoteknik_custom/models/purchase_order.py | 9 ++++++++- indoteknik_custom/views/purchase_order.xml | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 4dc26d74..6901ecb6 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -668,9 +668,16 @@ class PurchaseOrder(models.Model): resposible_ids = list(set(resposible_ids)) purchase.responsible_ids = resposible_ids + # def _compute_has_active_invoice(self): + # for order in self: + # order.has_active_invoice = any(invoice.state != 'cancel' for invoice in order.invoice_ids) + def _compute_has_active_invoice(self): for order in self: - order.has_active_invoice = any(invoice.state != 'cancel' for invoice in order.invoice_ids) + related_invoices = order.invoice_ids.filtered( + lambda inv: inv.purchase_order_id.id == order.id and inv.move_type == 'in_invoice' and inv.state != 'cancel' + ) + order.has_active_invoice = bool(related_invoices) def add_product_to_pricelist(self): i = 0 diff --git a/indoteknik_custom/views/purchase_order.xml b/indoteknik_custom/views/purchase_order.xml index dae23eed..fa8d40d5 100755 --- a/indoteknik_custom/views/purchase_order.xml +++ b/indoteknik_custom/views/purchase_order.xml @@ -164,7 +164,7 @@ - {'readonly': ['|', ('state', 'in', ['purchase', 'done', 'cancel']), ('has_active_invoice', '=', True)]} + {'readonly': ['&', ('state', 'in', ['purchase', 'done', 'cancel']), ('has_active_invoice', '=', True)]} -- cgit v1.2.3 From f3fc6d3d1a4c5ac0b287e3bb7e1163b99393c728 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Tue, 15 Jul 2025 13:20:58 +0700 Subject: (andri) fix --- indoteknik_custom/models/purchase_order.py | 16 ++++++++-------- indoteknik_custom/views/purchase_order.xml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index 6901ecb6..f98a37be 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -668,16 +668,16 @@ class PurchaseOrder(models.Model): resposible_ids = list(set(resposible_ids)) purchase.responsible_ids = resposible_ids - # def _compute_has_active_invoice(self): - # for order in self: - # order.has_active_invoice = any(invoice.state != 'cancel' for invoice in order.invoice_ids) - def _compute_has_active_invoice(self): for order in self: - related_invoices = order.invoice_ids.filtered( - lambda inv: inv.purchase_order_id.id == order.id and inv.move_type == 'in_invoice' and inv.state != 'cancel' - ) - order.has_active_invoice = bool(related_invoices) + order.has_active_invoice = any(invoice.state != 'cancel' for invoice in order.invoice_ids) + + # def _compute_has_active_invoice(self): + # for order in self: + # related_invoices = order.invoice_ids.filtered( + # lambda inv: inv.purchase_order_id.id == order.id and inv.move_type == 'in_invoice' and inv.state != 'cancel' + # ) + # order.has_active_invoice = bool(related_invoices) def add_product_to_pricelist(self): i = 0 diff --git a/indoteknik_custom/views/purchase_order.xml b/indoteknik_custom/views/purchase_order.xml index fa8d40d5..dae23eed 100755 --- a/indoteknik_custom/views/purchase_order.xml +++ b/indoteknik_custom/views/purchase_order.xml @@ -164,7 +164,7 @@ - {'readonly': ['&', ('state', 'in', ['purchase', 'done', 'cancel']), ('has_active_invoice', '=', True)]} + {'readonly': ['|', ('state', 'in', ['purchase', 'done', 'cancel']), ('has_active_invoice', '=', True)]} -- cgit v1.2.3 From e0e6848123d06c58a506098124d4948fb72e2ba3 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Sat, 19 Jul 2025 15:31:39 +0700 Subject: (andri) fix --- indoteknik_custom/models/res_partner.py | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 52947128..236df16f 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -165,26 +165,13 @@ class ResPartner(models.Model): "this feature", tracking=3) telegram_id = fields.Char(string="Telegram") avg_aging= fields.Float(string='Average Aging') - payment_difficulty = fields.Selection([('bermasalah', 'Bermasalah'),('sulit', 'Sulit'),('agak_sulit', 'Agak Sulit'),('normal', 'Normal')], string='Payment Difficulty', compute="_compute_payment_difficulty", inverse = "_inverse_payment_difficulty", tracking=3) + payment_difficulty = fields.Selection([('bermasalah', 'Bermasalah'),('sulit', 'Sulit'),('agak_sulit', 'Agak Sulit'),('normal', 'Normal')], string='Payment Difficulty', tracking=3) payment_history_url = fields.Text(string='Payment History URL') # no compute # payment_diff = fields.Selection([('bermasalah', 'Bermasalah'),('sulit', 'Sulit'),('agak_sulit', 'Agak Sulit'),('normal', 'Normal')], string='Payment Difficulty', tracking=3) # tidak terpakai - @api.depends('parent_id.payment_difficulty') - def _compute_payment_difficulty(self): - for partner in self: - if partner.parent_id: - partner.payment_difficulty = partner.parent_id.payment_difficulty - - # tidak terpakai - def _inverse_payment_difficulty(self): - for partner in self: - if not partner.parent_id: - partner.child_ids.write({ - 'payment_difficulty': partner.payment_difficulty - }) @api.model def _default_payment_term(self): -- cgit v1.2.3