[FIX] account: update repartition lines correctly

When repartition_lines are added to an already existing account_tax
record, on upgrade, the new repartition lines are inserted with just
tags, which results in the insertion of null value in document_type
column.
To reproduce:
1. Modify l10n_fr/__manifest__.py version to 2.0
2. Create an empty DB
3. Start ./odoo-bin -c ../.myodoorc -i l10n_fr with demo data
4. Stop the database (can dump it for convenience)
5. Start ./odoo-bin -c ../.myodoorc -u l10n_fr
6. Add a couple of repartition lines (invoice + refund) to an existing tax to odoo/addons/l10n_fr/data/template/account.tax-fr.csv
7. Modify l10n_fr/__manifest__.py version to 2.1
8. Start ./odoo-bin -c ../.myodoorc -u l10n_fr

closes odoo/odoo#149733

X-original-commit: 8dfdc6f9abe490f46d3df92bf056e334e1a02750
Signed-off-by: Aslam Noman (asno) <asno@odoo.com>
This commit is contained in:
asno-odoo
2024-02-01 09:49:51 +00:00
parent b00d135599
commit 321cffafb7
+1
View File
@@ -264,6 +264,7 @@ class AccountChartTemplate(models.AbstractModel):
return (
tax.amount_type != template.get('amount_type', 'percent')
or tax.amount != template.get('amount', 0)
or len(tax.repartition_line_ids) != len(template.get('repartition_line_ids', []))
)
obsolete_xmlid = set()