# radical but this doesn't frequently happen
self._cache = {}
- def create_shortcut(self, cr, uid, datas):
+ 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')
- shortcut_menu_id = int(dataobj.read(cr, uid, menu_id, ['res_id'])['res_id'])
- action_id = self.pool.get('ir.actions.act_window').create(cr, uid, datas)
-
- menu_data = {'name':datas['name'],
- 'sequence':10,
- 'action':'ir.actions.act_window,'+str(action_id),
- 'parent_id':shortcut_menu_id,
- 'icon':'STOCK_JUSTIFY_FILL',
- }
+ 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)
+ menu_data = {'name':values['name'],
+ 'sequence':10,
+ 'action':'ir.actions.act_window,'+str(action_id),
+ 'parent_id':shortcut_menu_id,
+ 'icon':'STOCK_JUSTIFY_FILL'}
menu_id = self.pool.get('ir.ui.menu').create(cr, uid, menu_data)
-
- sc_data= {'name':datas['name'],
- 'sequence': 1,
- 'res_id': menu_id,
- }
-
- sc_menu_id = self.pool.get('ir.ui.view_sc').create(cr, uid, sc_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)
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))