diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py index 98770ed1ad9..2577c2cf475 100644 --- a/openerp/addons/base/ir/ir_actions.py +++ b/openerp/addons/base/ir/ir_actions.py @@ -850,7 +850,8 @@ class ir_actions_todo(osv.osv): user = self.pool.get('res.users').browse(cr, uid, uid, context=context) ctx = eval(res['context'], {'user': user}) if ctx.get('res_id'): - res.update({'res_id': ctx.get('res_id')}) + res.update({'res_id': ctx.pop('res_id')}) + res.update({'context': ctx}) return res def action_open(self, cr, uid, ids, context=None): diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 30f06e4c17b..89f197ba68a 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -106,7 +106,9 @@ class res_config_configurable(osv.osv_memory): next = self._next_action(cr, uid) self.__logger.info('next action is %s', next) if next: - return next.action_launch(context=context) + res = next.action_launch(context=context) + res.update({'nodestroy': False}) + return res self.__logger.info('all configuration actions have been executed') current_user_menu = self.pool.get('res.users').browse(cr, uid, uid).menu_id