[IMP] Add a hook to compute commission to allow submodules to add some custom logic (multiple commission fields for instance)

pull/632/head
Florian da Costa 2024-02-09 17:55:48 +01:00
parent 4eb5c7a92b
commit 100b51f4b3
1 changed files with 12 additions and 8 deletions

View File

@ -143,6 +143,17 @@ class AccountJournal(models.Model):
) )
return vals_list return vals_list
def _get_global_commission_amount(self, parser):
global_commission_amount = 0.0
commmission_field = parser.commission_field
if commmission_field:
for row in parser.result_row_list:
global_commission_amount += float(row.get(commmission_field, "0.0"))
# If commission amount is positive in field, inverse the sign
if parser.commission_sign == "+":
global_commission_amount = -global_commission_amount
return global_commission_amount
def _get_extra_move_line_vals_list(self, parser, move): def _get_extra_move_line_vals_list(self, parser, move):
"""Insert extra lines after the main statement lines. """Insert extra lines after the main statement lines.
@ -156,15 +167,8 @@ class AccountJournal(models.Model):
statement ID statement ID
:param: context: global context :param: context: global context
""" """
global_commission_amount = 0
commmission_field = parser.commission_field
vals_list = [] vals_list = []
if commmission_field: global_commission_amount = self._get_global_commission_amount(parser)
for row in parser.result_row_list:
global_commission_amount += float(row.get(commmission_field, "0.0"))
# If commission amount is positive in field, inverse the sign
if parser.commission_sign == "+":
global_commission_amount = -global_commission_amount
partner_id = self.partner_id.id partner_id = self.partner_id.id
# Commission line # Commission line
if global_commission_amount > 0.0: if global_commission_amount > 0.0: