From 5f4b3c9bd3b7a75430f2ba3fd64f60ee18e57ee9 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 30 Mar 2012 23:49:48 +0200 Subject: [PATCH] [IMP] module,ir.model: improve name choices bzr revid: odo@openerp.com-20120330214948-xnmbqugke1o1j3uz --- openerp/addons/base/ir/ir_model.py | 6 +++--- openerp/addons/base/module/module.py | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index d630faecad0..845dedc7a51 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -33,7 +33,7 @@ from openerp.tools.translate import _ _logger = logging.getLogger(__name__) -MODULE_UNINSTALL_FLAG = '_ir_module_uninstall' +MODULE_UNINSTALL_FLAG = '_force_unlink' def _get_fields_type(self, cr, uid, context=None): # Avoid too many nested `if`s below, as RedHat's Python 2.6 @@ -829,7 +829,7 @@ class ir_model_data(osv.osv): cr.execute('UPDATE ir_values set value=%s WHERE model=%s and key=%s and name=%s'+where,(value, model, key, name)) return True - def _pre_process_unlink(self, cr, uid, ids, context=None): + def _module_data_uninstall(self, cr, uid, ids, context=None): if uid != 1 and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"): raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module'))) @@ -908,7 +908,7 @@ class ir_model_data(osv.osv): cr.commit() for (model, res_id) in to_unlink: - if model not in ('ir.model.fields',): + if model != 'ir.model.fields': continue external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) if (set(external_ids)-ids_set): diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 526ca5a4910..2ef96e902fd 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -368,12 +368,10 @@ class module(osv.osv): """Perform the various steps required to uninstall a module completely including the deletion of all database structures created by the module: tables, columns, constraints, etc.""" - - # uninstall must be done respecting the reverse-dependency order ir_model_data = self.pool.get('ir.model.data') modules_to_remove = [m.name for m in self.browse(cr, uid, ids, context)] data_ids = ir_model_data.search(cr, uid, [('module', 'in', modules_to_remove)]) - ir_model_data._pre_process_unlink(cr, uid, data_ids, context) + ir_model_data._module_data_uninstall(cr, uid, data_ids, context) ir_model_data.unlink(cr, uid, data_ids, context) self.write(cr, uid, ids, {'state': 'uninstalled'}) return True