summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-06-18 10:30:02 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-06-18 10:31:20 +0700
commitf4486625017ee5edae369a6be283863a30066b3b (patch)
tree46b1f2da277403edda1ead8e7b40314860294ce1
parentcca31a5f582e097518701a192d4cda88525fc979 (diff)
cashback 15% customer commision
-rw-r--r--indoteknik_custom/models/commision.py11
-rw-r--r--indoteknik_custom/views/customer_commision.xml2
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"/>