From a713dc1646aa3b7d82e95b5ba8399b94aee1b0f7 Mon Sep 17 00:00:00 2001 From: jlzhou Date: Wed, 16 Aug 2017 09:19:44 +0800 Subject: [PATCH 1/2] 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) } ) From cbbe7c2e1151ad5bbe1870c8fe67db8add3b5de9 Mon Sep 17 00:00:00 2001 From: jlzhou Date: Thu, 17 Aug 2017 13:50:47 +0800 Subject: [PATCH 2/2] follow 80 cols line limit (PEP8) and move myself in last place of contibutor list, also add known issue. --- web_shortcut/README.rst | 8 +++++++- web_shortcut/models/web_shortcut.py | 11 ++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/web_shortcut/README.rst b/web_shortcut/README.rst index e504f473..1906312c 100644 --- a/web_shortcut/README.rst +++ b/web_shortcut/README.rst @@ -28,6 +28,12 @@ To use this module, you need to: :alt: Try me on Runbot :target: https://runbot.odoo-community.org/runbot/162/10.0 +Known Issues +============ +Clicking shortcut menu item sometimes doesn't trigger the left side submenu widget +updating except reloading the whole page. +Client side may raise TypeError exception randomly: this.active_view is null. + Bug Tracker =========== @@ -42,11 +48,11 @@ Credits Contributors ------------ -* Henry Zhou (MAXodoo) * Adrien Peiffer * Dennis Sluijk * Odoo SA * Thomas Binsfeld +* Henry Zhou (MAXodoo) Maintainer ---------- diff --git a/web_shortcut/models/web_shortcut.py b/web_shortcut/models/web_shortcut.py index 0c10d0b6..c7a43587 100644 --- a/web_shortcut/models/web_shortcut.py +++ b/web_shortcut/models/web_shortcut.py @@ -25,13 +25,18 @@ class WebShortcut(models.Model): 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, + 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_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