summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/commision.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-02-28 14:07:47 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-02-28 14:07:47 +0700
commit00b6739e4f4228c1cc66de0ef63312bc633ae21f (patch)
tree85f8fc83d4030878893599abb2a949e5d478e3e7 /indoteknik_custom/models/commision.py
parent0738a192409687790c16c757f85fe440cb1f377d (diff)
parent46a7cc5601ceab2a7a6cdf4d74e0fa26ce13ab8a (diff)
Merge branch 'production' into purchasing-job
Diffstat (limited to 'indoteknik_custom/models/commision.py')
-rw-r--r--indoteknik_custom/models/commision.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py
index 955d1634..094aa66e 100644
--- a/indoteknik_custom/models/commision.py
+++ b/indoteknik_custom/models/commision.py
@@ -156,7 +156,17 @@ class CustomerCommision(models.Model):
# add status for type of commision, fee, rebate / cashback
# include child or not?
- @api.constrains('commision_percent')
+ @api.constrains('partner_ids')
+ def _onchange_partner_ids(self):
+ commision = self.env['cust.commision'].search([
+ ('partner_id', 'in', [rec.id for rec in self.partner_ids]),
+ ])
+
+ if commision:
+ max_commision = max(commision.mapped('commision_percent'))
+ self.commision_percent = max_commision
+
+ @api.constrains('commision_percent', 'partner_ids')
def _onchange_commision_percent(self):
print('masuk onchange commision percent')
if self.commision_amt == 0:
@@ -165,8 +175,8 @@ class CustomerCommision(models.Model):
@api.constrains('commision_amt')
def _onchange_commision_amt(self):
print('masuk onchange commision amt')
- if self.commision_percent == 0:
- self.commision_percent = (self.commision_amt / self.total_dpp * 100)
+ if self.total_dpp > 0:
+ self.commision_percent = (self.commision_amt / self.total_dpp) * 100
def _compute_total_dpp(self):
for data in self:
@@ -208,6 +218,9 @@ class CustomerCommision(models.Model):
else:
self._generate_customer_commision_rebate()
+ self._onchange_commision_percent()
+ self._onchange_commision_amt()
+
def _generate_customer_commision_rebate(self):
for rec in self:
# partners = rec.partner_ids.child_ids + rec.partner_ids