diff options
Diffstat (limited to 'base_accounting_kit/models/credit_limit.py')
| -rwxr-xr-x | base_accounting_kit/models/credit_limit.py | 66 |
1 files 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 |
