[FIX] account: onchange in reconcile model
The onchange on tax_ids and second_tax_ids was only recomputed when tax_ids changes (duh) so the variables show_force_tax_included and show_second_force_tax_included were not set when coming back to the formm after having saved a line with one tax. closes odoo/odoo#37111 Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
This commit is contained in:
@@ -97,7 +97,7 @@ class AccountReconcileModel(models.Model):
|
||||
('percentage', 'Percentage of balance'),
|
||||
('regex', 'From label'),
|
||||
], required=True, default='percentage')
|
||||
show_force_tax_included = fields.Boolean(store=False, help='Technical field used to show the force tax included button')
|
||||
show_force_tax_included = fields.Boolean(compute='_compute_show_force_tax_included', help='Technical field used to show the force tax included button')
|
||||
force_tax_included = fields.Boolean(string='Tax Included in Price',
|
||||
help='Force the tax to be managed as a price included tax.')
|
||||
amount = fields.Float(string='Write-off Amount', digits=0, required=True, default=100.0, help="Fixed amount will count as a debit if it is negative, as a credit if it is positive.")
|
||||
@@ -118,7 +118,7 @@ class AccountReconcileModel(models.Model):
|
||||
('percentage', 'Percentage of balance'),
|
||||
('regex', 'From label'),
|
||||
], string="Second Amount type",required=True, default='percentage')
|
||||
show_second_force_tax_included = fields.Boolean(store=False, help='Technical field used to show the force tax included button')
|
||||
show_second_force_tax_included = fields.Boolean(compute='_compute_show_second_force_tax_included', help='Technical field used to show the force tax included button')
|
||||
force_second_tax_included = fields.Boolean(string='Second Tax Included in Price',
|
||||
help='Force the second tax to be managed as a price included tax.')
|
||||
second_amount = fields.Float(string='Second Write-off Amount', digits=0, required=True, default=100.0, help="Fixed amount will count as a debit if it is negative, as a credit if it is positive.")
|
||||
@@ -159,18 +159,26 @@ class AccountReconcileModel(models.Model):
|
||||
def _onchange_tax_ids(self):
|
||||
# Multiple taxes with force_tax_included results in wrong computation, so we
|
||||
# only allow to set the force_tax_included field if we have one tax selected
|
||||
self.show_force_tax_included = False if len(self.tax_ids) != 1 else True
|
||||
if len(self.tax_ids) != 1:
|
||||
self.force_tax_included = False
|
||||
|
||||
@api.depends('tax_ids')
|
||||
def _compute_show_force_tax_included(self):
|
||||
for record in self:
|
||||
record.show_force_tax_included = False if len(record.tax_ids) != 1 else True
|
||||
|
||||
@api.onchange('second_tax_ids')
|
||||
def _onchange_second_tax_ids(self):
|
||||
# Multiple taxes with force_tax_included results in wrong computation, so we
|
||||
# only allow to set the force_tax_included field if we have one tax selected
|
||||
self.show_second_force_tax_included = False if len(self.second_tax_ids) != 1 else True
|
||||
if len(self.second_tax_ids) != 1:
|
||||
self.force_second_tax_included = False
|
||||
|
||||
@api.depends('second_tax_ids')
|
||||
def _compute_show_second_force_tax_included(self):
|
||||
for record in self:
|
||||
record.show_second_force_tax_included = False if len(record.second_tax_ids) != 1 else True
|
||||
|
||||
@api.onchange('match_total_amount_param')
|
||||
def _onchange_match_total_amount_param(self):
|
||||
if self.match_total_amount_param < 0 or self.match_total_amount_param > 100:
|
||||
|
||||
Reference in New Issue
Block a user