From 2b3c94874466c3dd0a05f0f81dd4b09bc3f87987 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Wed, 19 Oct 2022 15:59:07 +0700 Subject: Update credit_limit.py --- base_accounting_kit/models/credit_limit.py | 66 ++++++++++++++++++------------ 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/base_accounting_kit/models/credit_limit.py b/base_accounting_kit/models/credit_limit.py index f7ca002..d290fe5 100755 --- a/base_accounting_kit/models/credit_limit.py +++ b/base_accounting_kit/models/credit_limit.py @@ -176,19 +176,27 @@ class SaleOrder(models.Model): @api.onchange('partner_id') def check_due(self): """To show the due amount and warning stage""" - if self.partner_id and self.partner_id.due_amount > 0 \ - and self.partner_id.active_limit \ - and self.partner_id.enable_credit_limit: - self.has_due = True - else: - self.has_due = False - if self.partner_id and self.partner_id.active_limit\ - and self.partner_id.enable_credit_limit: - if self.outstanding_amount >= self.partner_id.warning_stage: - if self.partner_id.warning_stage != 0: - self.is_warning = True - else: - self.is_warning = False + for order in self: + # partner_id = 0aku + if order.partner_id.parent_id: + partner_id = order.partner_id.parent_id + else: + partner_id = order.partner_id + + if partner_id and partner_id.due_amount > 0 \ + and partner_id.active_limit \ + and partner_id.enable_credit_limit: + order.has_due = True + else: + order.has_due = False + if partner_id and partner_id.active_limit\ + and partner_id.enable_credit_limit: + print(order.outstanding_amount) + if order.outstanding_amount >= partner_id.warning_stage: + if partner_id.warning_stage != 0: + order.is_warning = True + else: + order.is_warning = False class AccountMove(models.Model): @@ -257,16 +265,22 @@ class AccountMove(models.Model): @api.onchange('partner_id') def check_due(self): """To show the due amount and warning stage""" - if self.partner_id and self.partner_id.due_amount > 0 \ - and self.partner_id.active_limit \ - and self.partner_id.enable_credit_limit: - self.has_due = True - else: - self.has_due = False - if self.partner_id and self.partner_id.active_limit \ - and self.partner_id.enable_credit_limit: - if self.outstanding_amount >= self.partner_id.warning_stage: - if self.partner_id.warning_stage != 0: - self.is_warning = True - else: - self.is_warning = False + for order in self: + if order.partner_id.parent_id: + partner_id = order.partner_id.parent_id + else: + partner_id = order.partner_id + + if partner_id and partner_id.due_amount > 0 \ + and partner_id.active_limit \ + and partner_id.enable_credit_limit: + order.has_due = True + else: + order.has_due = False + if partner_id and partner_id.active_limit \ + and partner_id.enable_credit_limit: + if order.outstanding_amount >= partner_id.warning_stage: + if partner_id.warning_stage != 0: + order.is_warning = True + else: + order.is_warning = False -- cgit v1.2.3