Skip to content

Commit

Permalink
[FIX] l10n_br_fiscal: additional values inverse method
Browse files Browse the repository at this point in the history
  • Loading branch information
DiegoParadeda committed Nov 25, 2024
1 parent e13a44a commit 4241648
Showing 1 changed file with 48 additions and 21 deletions.
69 changes: 48 additions & 21 deletions l10n_br_fiscal/models/document_mixin_methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,14 +159,23 @@ def _inverse_amount_freight(self):
for line in record._get_product_amount_lines():
line._onchange_fiscal_taxes()
record._fields["amount_total"].compute_value(record)
record.write(
{
name: value
for name, value in record._cache.items()
if record._fields[name].compute == "_amount_all"

# Case Sale, Purchase or POS
vals = {}
for name, value in record._cache.items():
if (
record._fields[name].compute == "_amount_all"
and not record._fields[name].inverse
}
)
):
vals[name] = value
if vals:
record.write(vals)
else:
# Case invoice (account.move has not compute named '_amount_all')
record = record.with_context(check_move_validity=False)
record.move_ids.invoice_line_ids._onchange_price_subtotal()
record.move_ids.invoice_line_ids._onchange_mark_recompute_taxes()
record.move_ids._onchange_invoice_line_ids()

def _inverse_amount_insurance(self):
for record in self.filtered(lambda doc: doc._get_product_amount_lines()):
Expand Down Expand Up @@ -209,14 +218,23 @@ def _inverse_amount_insurance(self):
for line in record._get_product_amount_lines():
line._onchange_fiscal_taxes()
record._fields["amount_total"].compute_value(record)
record.write(
{
name: value
for name, value in record._cache.items()
if record._fields[name].compute == "_amount_all"

# Case Sale, Purchase or POS
vals = {}
for name, value in record._cache.items():
if (
record._fields[name].compute == "_amount_all"
and not record._fields[name].inverse
}
)
):
vals[name] = value
if vals:
record.write(vals)
else:
# Case invoice (account.move has not compute named '_amount_all')
record = record.with_context(check_move_validity=False)
record.move_ids.invoice_line_ids._onchange_price_subtotal()
record.move_ids.invoice_line_ids._onchange_mark_recompute_taxes()
record.move_ids._onchange_invoice_line_ids()

def _inverse_amount_other(self):
for record in self.filtered(lambda doc: doc._get_product_amount_lines()):
Expand Down Expand Up @@ -259,11 +277,20 @@ def _inverse_amount_other(self):
for line in record._get_product_amount_lines():
line._onchange_fiscal_taxes()
record._fields["amount_total"].compute_value(record)
record.write(
{
name: value
for name, value in record._cache.items()
if record._fields[name].compute == "_amount_all"

# Case Sale, Purchase or POS
vals = {}
for name, value in record._cache.items():
if (
record._fields[name].compute == "_amount_all"
and not record._fields[name].inverse
}
)
):
vals[name] = value
if vals:
record.write(vals)
else:
# Case invoice (account.move has not compute named '_amount_all')
record = record.with_context(check_move_validity=False)
record.move_ids.invoice_line_ids._onchange_price_subtotal()
record.move_ids.invoice_line_ids._onchange_mark_recompute_taxes()
record.move_ids._onchange_invoice_line_ids()

0 comments on commit 4241648

Please sign in to comment.