diff --git a/openerp/addons/base/base_update.xml b/openerp/addons/base/base_update.xml index 7432018fd94..3121bc56e86 100644 --- a/openerp/addons/base/base_update.xml +++ b/openerp/addons/base/base_update.xml @@ -354,7 +354,7 @@ - always + never 1 diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index 26558900a44..d613cd6fa28 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -286,7 +286,7 @@ class module(osv.osv): demo = demo or mdemo return demo - def upgrade(self, cr, uid, ids, context=None): + def apply_upgrade(self, cr, uid, ids, mode='install', context=None): mod_obj = self.pool.get('ir.module.module') ids = mod_obj.search(cr, uid, [('state', 'in', ['to upgrade', 'to remove', 'to install'])]) unmet_packages = [] @@ -303,7 +303,11 @@ class module(osv.osv): _db, pool = pooler.restart_pool(cr.dbname, update_module=True) data_obj = self.pool.get('ir.model.data') - id2 = data_obj._get_id(cr, uid, 'base', 'view_base_module_upgrade_install') + if ids: + view_name = 'view_base_module_upgrade_install' + else: + view_name = 'view_base_module_upgrade' + id2 = data_obj._get_id(cr, uid, 'base', view_name) if id2: id2 = data_obj.browse(cr, uid, id2, context=context).res_id return { @@ -315,11 +319,12 @@ class module(osv.osv): 'type': 'ir.actions.act_window', 'target': 'new', 'nodestroy':True, + 'context': {'modules': ids, 'mode': mode} } def button_install(self, cr, uid, ids, context=None): self.state_update(cr, uid, ids, 'to install', ['uninstalled'], context) - res = self.upgrade(cr, uid, ids, context=context) + res = self.apply_upgrade(cr, uid, ids, mode='install', context=context) return res @@ -342,8 +347,7 @@ class module(osv.osv): raise orm.except_orm(_('Error'), _('Some installed modules depend on the module you plan to Uninstall :\n %s') % '\n'.join(map(lambda x: '\t%s: %s' % (x[0], x[1]), res))) self.write(cr, uid, ids, {'state': 'to remove'}) - self.upgrade(cr, uid, ids, context=context) - return True + return self.apply_upgrade(cr, uid, ids, mode='uninstall', context=context) def button_uninstall_cancel(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'state': 'installed'}) @@ -368,7 +372,7 @@ class module(osv.osv): if dep.state == 'installed': ids2 = self.search(cr, uid, [('name','=',dep.name)]) to_install.extend(ids2) - res = self.upgrade(cr, uid, ids, context=context) + res = self.apply_upgrade(cr, uid, ids, mode='upgrade', context=context) return res def button_upgrade_cancel(self, cr, uid, ids, context=None): diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py index e1ba1644387..d151064891e 100644 --- a/openerp/addons/base/module/wizard/base_module_upgrade.py +++ b/openerp/addons/base/module/wizard/base_module_upgrade.py @@ -32,39 +32,6 @@ class base_module_upgrade(osv.osv_memory): 'module_info': fields.text('Modules to update',readonly=True), } - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - """ Changes the view dynamically - @param self: The object pointer. - @param cr: A database cursor - @param uid: ID of the user currently logged in - @param context: A standard dictionary - @return: New arch of view. - """ - res = super(base_module_upgrade, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) - record_id = context and context.get('active_id', False) or False - active_model = context.get('active_model') - if (not record_id) or (not active_model): - return res - - ids = self.get_module_list(cr, uid, context=context) - if not ids: - res['arch'] = '''
- -