summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/addons/base/ir/ir_ui_menu.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/bin/addons/base/ir/ir_ui_menu.py b/bin/addons/base/ir/ir_ui_menu.py
index 6b4d98962b4..ec923074573 100644
--- a/bin/addons/base/ir/ir_ui_menu.py
+++ b/bin/addons/base/ir/ir_ui_menu.py
@@ -69,9 +69,14 @@ class ir_ui_menu(osv.osv):
def create_shortcut(self, cr, uid, values, context={}):
dataobj = self.pool.get('ir.model.data')
- menu_id = dataobj._get_id(cr, uid, 'base', 'menu_administration_shortcut', context)
- shortcut_menu_id = int(dataobj.read(cr, uid, menu_id, ['res_id'], context)['res_id'])
- action_id = self.pool.get('ir.actions.act_window').create(cr, uid, values, context)
+ new_context = context.copy()
+ for key in context:
+ if key.startswith('default_'):
+ del new_context[key]
+
+ menu_id = dataobj._get_id(cr, uid, 'base', 'menu_administration_shortcut', new_context)
+ shortcut_menu_id = int(dataobj.read(cr, uid, menu_id, ['res_id'], new_context)['res_id'])
+ action_id = self.pool.get('ir.actions.act_window').create(cr, uid, values, new_context)
menu_data = {'name':values['name'],
'sequence':10,
'action':'ir.actions.act_window,'+str(action_id),
@@ -79,7 +84,7 @@ class ir_ui_menu(osv.osv):
'icon':'STOCK_JUSTIFY_FILL'}
menu_id = self.pool.get('ir.ui.menu').create(cr, uid, menu_data)
sc_data= {'name':values['name'], 'sequence': 1,'res_id': menu_id }
- sc_menu_id = self.pool.get('ir.ui.view_sc').create(cr, uid, sc_data, context)
+ sc_menu_id = self.pool.get('ir.ui.view_sc').create(cr, uid, sc_data, new_context)
user_groups = set(self.pool.get('res.users').read(cr, 1, uid, ['groups_id'])['groups_id'])
key = (cr.dbname, shortcut_menu_id, tuple(user_groups))