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', }