From a713dc1646aa3b7d82e95b5ba8399b94aee1b0f7 Mon Sep 17 00:00:00 2001 From: jlzhou Date: Wed, 16 Aug 2017 09:19:44 +0800 Subject: [PATCH] translate shortcut menu items to user's language --- web_shortcut/README.rst | 1 + web_shortcut/models/web_shortcut.py | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/web_shortcut/README.rst b/web_shortcut/README.rst index 5cd32a9c..e504f473 100644 --- a/web_shortcut/README.rst +++ b/web_shortcut/README.rst @@ -42,6 +42,7 @@ Credits Contributors ------------ +* Henry Zhou (MAXodoo) * Adrien Peiffer * Dennis Sluijk * Odoo SA diff --git a/web_shortcut/models/web_shortcut.py b/web_shortcut/models/web_shortcut.py index aafddd9d..0c10d0b6 100644 --- a/web_shortcut/models/web_shortcut.py +++ b/web_shortcut/models/web_shortcut.py @@ -23,14 +23,22 @@ class WebShortcut(models.Model): def get_user_shortcuts(self): shortcuts = self.search([('user_id', '=', self.env.user.id)]) res = [] + trans = self.env['ir.translation'] for shortcut in shortcuts.filtered('menu_id'): + name_translated = trans._get_source('ir.ui.menu,name', 'model', self.env.user.lang, shortcut.menu_id.name, + shortcut.menu_id.id) + current = shortcut.menu_id + while current.parent_id: + current = current.parent_id + name_translated = ' / '.join((trans._get_source('ir.ui.menu,name', 'model', self.env.user.lang, + current.name, current.id), name_translated)) _name = shortcut.menu_id.name_get() _name = _name[0][1] if len(_name) else '' _id = shortcut.menu_id.id res.append( { 'id': shortcut.id, - 'name': _name, + 'name': name_translated, 'menu_id': (_id, _name) } )