From c44024b50befd4d8237c53bb18738e0aac4107f3 Mon Sep 17 00:00:00 2001 From: Laurent Smet Date: Fri, 27 Oct 2017 12:38:33 +0200 Subject: [PATCH] [FIX] account, l10n_*: preserve existing tags on upgrade Taxes tags for some localization have been rewrote in order to improve the taxes report. However, these changes delete the existing account.tags on stable version. These "[l10n_*] one tag per grid in tax reports" should target master instead of 9.0. -opw: 777464 --- addons/account/models/chart_template.py | 6 ++++++ addons/l10n_fr/__init__.py | 5 +++++ addons/l10n_fr/__openerp__.py | 1 + addons/l10n_lu/__init__.py | 5 +++++ addons/l10n_lu/__openerp__.py | 1 + addons/l10n_no/__init__.py | 5 +++++ addons/l10n_no/__openerp__.py | 1 + addons/l10n_pl/__init__.py | 5 +++++ addons/l10n_pl/__openerp__.py | 1 + addons/l10n_sg/__init__.py | 5 +++++ addons/l10n_sg/__openerp__.py | 1 + addons/l10n_th/__init__.py | 5 +++++ addons/l10n_th/__openerp__.py | 1 + addons/l10n_vn/__init__.py | 5 +++++ addons/l10n_vn/__openerp__.py | 1 + 15 files changed, 48 insertions(+) diff --git a/addons/account/models/chart_template.py b/addons/account/models/chart_template.py index 1c341db156d..e54c0c926de 100644 --- a/addons/account/models/chart_template.py +++ b/addons/account/models/chart_template.py @@ -36,6 +36,12 @@ def migrate_tags_on_taxes(cr, registry): if len(tax_id) == 1: registry['account.tax'].write(cr, SUPERUSER_ID, tax_id, {'tag_ids': [(6,0,[x.id for x in tax_template.tag_ids])]}) +def preserve_existing_tags_on_taxes(cr, registry, module): + ''' This is a utility function used to preserve existing previous tags during upgrade of the module.''' + xml_record_ids = registry['ir.model.data'].search(cr, SUPERUSER_ID, [('model', 'in', ['account.account.tag']), ('module', 'like', module)]) + if xml_record_ids: + cr.execute("update ir_model_data set noupdate = 't' where id in %s", (tuple(xml_record_ids),)) + # --------------------------------------------------------------- # Account Templates: Account, Tax, Tax Code and chart. + Wizard # --------------------------------------------------------------- diff --git a/addons/l10n_fr/__init__.py b/addons/l10n_fr/__init__.py index daea072a981..ceec906fad2 100644 --- a/addons/l10n_fr/__init__.py +++ b/addons/l10n_fr/__init__.py @@ -4,3 +4,8 @@ # Copyright (c) 2008 JAILLET Simon - CrysaLEAD - www.crysalead.fr import l10n_fr + + +def _preserve_tag_on_taxes(cr, registry): + from openerp.addons.account.models.chart_template import preserve_existing_tags_on_taxes + preserve_existing_tags_on_taxes(cr, registry, 'l10n_fr') diff --git a/addons/l10n_fr/__openerp__.py b/addons/l10n_fr/__openerp__.py index 3f3c2b52be0..8722cea4764 100644 --- a/addons/l10n_fr/__openerp__.py +++ b/addons/l10n_fr/__openerp__.py @@ -41,4 +41,5 @@ configuration of their taxes and fiscal positions manually. 'demo': [], 'auto_install': False, 'installable': True, + 'post_init_hook': '_preserve_tag_on_taxes', } diff --git a/addons/l10n_lu/__init__.py b/addons/l10n_lu/__init__.py index 67dee8c60db..78920d0b259 100644 --- a/addons/l10n_lu/__init__.py +++ b/addons/l10n_lu/__init__.py @@ -1,2 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. + + +def _preserve_tag_on_taxes(cr, registry): + from openerp.addons.account.models.chart_template import preserve_existing_tags_on_taxes + preserve_existing_tags_on_taxes(cr, registry, 'l10n_lu') diff --git a/addons/l10n_lu/__openerp__.py b/addons/l10n_lu/__openerp__.py index 60e65493b7e..0226b035f7e 100644 --- a/addons/l10n_lu/__openerp__.py +++ b/addons/l10n_lu/__openerp__.py @@ -43,4 +43,5 @@ Notes: 'demo': [], 'installable': True, 'auto_install': False, + 'post_init_hook': '_preserve_tag_on_taxes', } diff --git a/addons/l10n_no/__init__.py b/addons/l10n_no/__init__.py index f331cf7cd78..402eb78952d 100644 --- a/addons/l10n_no/__init__.py +++ b/addons/l10n_no/__init__.py @@ -1,2 +1,7 @@ # -*- encoding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. + + +def _preserve_tag_on_taxes(cr, registry): + from openerp.addons.account.models.chart_template import preserve_existing_tags_on_taxes + preserve_existing_tags_on_taxes(cr, registry, 'l10n_no') diff --git a/addons/l10n_no/__openerp__.py b/addons/l10n_no/__openerp__.py index 7ec28b9783d..653586f17b4 100644 --- a/addons/l10n_no/__openerp__.py +++ b/addons/l10n_no/__openerp__.py @@ -16,4 +16,5 @@ Updated for Odoo 9 by Bringsvor Consulting AS 'account_tax.xml','account_chart_template.yml'], "active": False, "installable": True + 'post_init_hook': '_preserve_tag_on_taxes', } diff --git a/addons/l10n_pl/__init__.py b/addons/l10n_pl/__init__.py index f331cf7cd78..1caaad5449a 100644 --- a/addons/l10n_pl/__init__.py +++ b/addons/l10n_pl/__init__.py @@ -1,2 +1,7 @@ # -*- encoding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. + + +def _preserve_tag_on_taxes(cr, registry): + from openerp.addons.account.models.chart_template import preserve_existing_tags_on_taxes + preserve_existing_tags_on_taxes(cr, registry, 'l10n_pl') diff --git a/addons/l10n_pl/__openerp__.py b/addons/l10n_pl/__openerp__.py index c738e5bc1bb..6da22326b52 100644 --- a/addons/l10n_pl/__openerp__.py +++ b/addons/l10n_pl/__openerp__.py @@ -30,4 +30,5 @@ Wewnętrzny numer wersji OpenGLOBE 1.02 'account_chart_template.yml' ], 'installable': True, + 'post_init_hook': '_preserve_tag_on_taxes', } diff --git a/addons/l10n_sg/__init__.py b/addons/l10n_sg/__init__.py index 5c72bf53544..3d96174edc6 100644 --- a/addons/l10n_sg/__init__.py +++ b/addons/l10n_sg/__init__.py @@ -2,3 +2,8 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. # Copyright (C) 2014 Tech Receptives (). + + +def _preserve_tag_on_taxes(cr, registry): + from openerp.addons.account.models.chart_template import preserve_existing_tags_on_taxes + preserve_existing_tags_on_taxes(cr, registry, 'l10n_sg') diff --git a/addons/l10n_sg/__openerp__.py b/addons/l10n_sg/__openerp__.py index 55d16ecda57..7793a266a02 100644 --- a/addons/l10n_sg/__openerp__.py +++ b/addons/l10n_sg/__openerp__.py @@ -34,4 +34,5 @@ After installing this module, the Configuration wizard for accounting is launche 'account_chart_template.yml', ], 'installable': True, + 'post_init_hook': '_preserve_tag_on_taxes', } diff --git a/addons/l10n_th/__init__.py b/addons/l10n_th/__init__.py index 67dee8c60db..61aa1e44699 100644 --- a/addons/l10n_th/__init__.py +++ b/addons/l10n_th/__init__.py @@ -1,2 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. + + +def _preserve_tag_on_taxes(cr, registry): + from openerp.addons.account.models.chart_template import preserve_existing_tags_on_taxes + preserve_existing_tags_on_taxes(cr, registry, 'l10n_th') diff --git a/addons/l10n_th/__openerp__.py b/addons/l10n_th/__openerp__.py index aa4557c9563..26bd74ad91e 100644 --- a/addons/l10n_th/__openerp__.py +++ b/addons/l10n_th/__openerp__.py @@ -19,4 +19,5 @@ Thai accounting chart and localization. 'account_chart_template.yml', ], 'installable': True, + 'post_init_hook': '_preserve_tag_on_taxes', } diff --git a/addons/l10n_vn/__init__.py b/addons/l10n_vn/__init__.py index 34293fdfe8d..665f0578bbe 100644 --- a/addons/l10n_vn/__init__.py +++ b/addons/l10n_vn/__init__.py @@ -2,3 +2,8 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. # This module is Copyright (c) 2009-2013 General Solutions (http://gscom.vn) All Rights Reserved. + + +def _preserve_tag_on_taxes(cr, registry): + from openerp.addons.account.models.chart_template import preserve_existing_tags_on_taxes + preserve_existing_tags_on_taxes(cr, registry, 'l10n_vn') diff --git a/addons/l10n_vn/__openerp__.py b/addons/l10n_vn/__openerp__.py index ef8efe0555d..b495d0914c9 100644 --- a/addons/l10n_vn/__openerp__.py +++ b/addons/l10n_vn/__openerp__.py @@ -21,4 +21,5 @@ This module applies to companies based in Vietnamese Accounting Standard (VAS). "data" : ["account_chart.xml","account_tax.xml","account_chart_template.yml"], "demo" : [], "installable": True, + 'post_init_hook': '_preserve_tag_on_taxes', }