diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2025-06-18 10:30:02 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2025-06-18 10:31:20 +0700 |
| commit | f4486625017ee5edae369a6be283863a30066b3b (patch) | |
| tree | 46b1f2da277403edda1ead8e7b40314860294ce1 | |
| parent | cca31a5f582e097518701a192d4cda88525fc979 (diff) | |
cashback 15% customer commision
| -rw-r--r-- | indoteknik_custom/models/commision.py | 11 | ||||
| -rw-r--r-- | indoteknik_custom/views/customer_commision.xml | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 842e64bf..d3392a0c 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -177,6 +177,8 @@ class CustomerCommision(models.Model): ], string='Status') commision_percent = fields.Float(string='Commision %', tracking=3) commision_amt = fields.Float(string='Commision Amount', tracking=3) + cashback = fields.Float(string='Cashback', tracking=3) + total_commision = fields.Float(string='Total Commision', tracking=3) commision_amt_text = fields.Char(string='Commision Amount Text', compute='compute_delivery_amt_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') commision_type = fields.Selection([ @@ -316,6 +318,9 @@ class CustomerCommision(models.Model): if self.commision_amt == 0: self.commision_amt = self.commision_percent * self.total_dpp // 100 + if self.commision_type == 'cashback': + self.cashback = self.commision_amt * 0.15 + self.total_commision = self.commision_amt * 0.85 @api.constrains('commision_amt') def _onchange_commision_amt(self): @@ -328,6 +333,12 @@ class CustomerCommision(models.Model): if self.total_dpp > 0 and self.commision_percent == 0: self.commision_percent = (self.commision_amt / self.total_dpp) * 100 + @api.constrains('commision_type') + def _onchange_commision_amt(self): + if self.commision_type == 'cashback' and self.commision_amt > 0: + self.cashback = self.commision_amt * 0.15 + self.total_commision = self.commision_amt * 0.85 + def _compute_total_dpp(self): for data in self: total_dpp = 0 diff --git a/indoteknik_custom/views/customer_commision.xml b/indoteknik_custom/views/customer_commision.xml index 37df16ff..4be0840f 100644 --- a/indoteknik_custom/views/customer_commision.xml +++ b/indoteknik_custom/views/customer_commision.xml @@ -81,6 +81,8 @@ <field name="commision_percent"/> <field name="commision_amt"/> <field name="commision_amt_text"/> + <field name="cashback" attrs="{'invisible': [('commision_type', 'not in', ['cashback'])]}"/> + <field name="total_commision" attrs="{'invisible': [('commision_type', 'not in', ['cashback'])]}"/> <field name="grouped_so_number" readonly="1"/> <field name="grouped_invoice_number" readonly="1"/> <field name="approved_by" readonly="1"/> |
