diff options
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 4c556a01..48794f92 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -85,8 +85,34 @@ class SaleOrder(models.Model): if self.amount_total > limit: self.have_visit_service = True + def check_due(self): + """To show the due amount and warning stage""" + 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: + if order.outstanding_amount >= partner_id.warning_stage: + if partner_id.warning_stage != 0: + order.is_warning = True + else: + order.is_warning = False + else: + order.is_warning = False + def sale_order_approve(self): # raise UserError("Bisa langsung Confirm") + self.check_due() for order in self: if order.state == 'cancel' or order.state == 'done' or order.state == 'sale': raise UserError("Status harus draft atau sent") |
