summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2011-01-15 05:50:58 +0100
committerOlivier Dony <odo@openerp.com>2011-01-15 05:50:58 +0100
commitc2af4fde4fd8f5d93bd2cd02de7fe8af728a2fd3 (patch)
treeddcc9d6f79f9d93e41747e46ab8dd46fd0e4d88a
parent697eea26e4325eac5f4831334df1b79bf7df2eb2 (diff)
[FIX] ir.ui.view_sc: shortcuts are now translated, and using the name_get() of the linked resource
lp bug: https://launchpad.net/bugs/699858 fixed bzr revid: odo@openerp.com-20110115045058-d7iqs6himuf2kyps
-rw-r--r--bin/addons/base/ir/ir_ui_view.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/bin/addons/base/ir/ir_ui_view.py b/bin/addons/base/ir/ir_ui_view.py
index 48bb82d6ebc..cd7ad2b5432 100644
--- a/bin/addons/base/ir/ir_ui_view.py
+++ b/bin/addons/base/ir/ir_ui_view.py
@@ -181,7 +181,7 @@ view()
class view_sc(osv.osv):
_name = 'ir.ui.view_sc'
_columns = {
- 'name': fields.char('Shortcut Name', size=64, required=True),
+ 'name': fields.char('Shortcut Name', size=64), # Kept for backwards compatibility only - resource name used instead (translatable)
'res_id': fields.integer('Resource Ref.', help="Reference of the target resource, whose model/table depends on the 'Resource Name' field."),
'sequence': fields.integer('Sequence'),
'user_id': fields.many2one('res.users', 'User Ref.', required=True, ondelete='cascade', select=True),
@@ -194,9 +194,13 @@ class view_sc(osv.osv):
if not cr.fetchone():
cr.execute('CREATE INDEX ir_ui_view_sc_user_id_resource ON ir_ui_view_sc (user_id, resource)')
- def get_sc(self, cr, uid, user_id, model='ir.ui.menu', context={}):
+ def get_sc(self, cr, uid, user_id, model='ir.ui.menu', context=None):
ids = self.search(cr, uid, [('user_id','=',user_id),('resource','=',model)], context=context)
- return self.read(cr, uid, ids, ['res_id','name'], context=context)
+ results = self.read(cr, uid, ids, ['res_id'], context=context)
+ name_map = dict(self.pool.get(model).name_get(cr, uid, [x['res_id'] for x in results], context=context))
+ for result in results:
+ result.update(name=name_map[result['res_id']])
+ return results
_order = 'sequence,name'
_defaults = {