diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-02-28 14:07:47 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-02-28 14:07:47 +0700 |
| commit | 00b6739e4f4228c1cc66de0ef63312bc633ae21f (patch) | |
| tree | 85f8fc83d4030878893599abb2a949e5d478e3e7 /indoteknik_custom/models/commision.py | |
| parent | 0738a192409687790c16c757f85fe440cb1f377d (diff) | |
| parent | 46a7cc5601ceab2a7a6cdf4d74e0fa26ce13ab8a (diff) | |
Merge branch 'production' into purchasing-job
Diffstat (limited to 'indoteknik_custom/models/commision.py')
| -rw-r--r-- | indoteknik_custom/models/commision.py | 19 |
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 |
