From ea3a2ab6788980a8961d9b9a3f88bc13c15a3c46 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Fri, 10 May 2019 21:50:25 +0000 Subject: [PATCH] [IMP] website: show website name in ir.ui.view name_get MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, it was impossible to know which view was the one searched if there was COW views. Indeed, since multiwebsite, views might get duplicated from one website to another. Then, when searching for an ir.ui.view in a form view, every duplicated view would be listed next to each other with the exact same name without a way to identify which one comes from which website. This commit will suffix the view name by its website_id if there is one. To do so, we use the context key that has been introduced with 62d73253f3. task-1920052 closes odoo/odoo#33307 Signed-off-by: Jérémy Kersten (jke) --- addons/website/models/ir_ui_view.py | 13 +++++++++++++ addons/website/models/website_menu.py | 9 +++++++-- addons/website/views/website_views.xml | 9 ++++++--- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index 1091e43c73f..246c3b0271f 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -29,6 +29,19 @@ class View(models.Model): for view in self: view.first_page_id = self.env['website.page'].search([('view_id', '=', view.id)], limit=1) + @api.multi + def name_get(self): + if not self._context.get('display_website') and not self.env.user.has_group('website.group_multi_website'): + return super(View, self).name_get() + + res = [] + for view in self: + view_name = view.name + if view.website_id: + view_name += ' [%s]' % view.website_id.name + res.append((view.id, view_name)) + return res + @api.multi def write(self, vals): '''COW for ir.ui.view. This way editing websites does not impact other diff --git a/addons/website/models/website_menu.py b/addons/website/models/website_menu.py index 9be8b88eb23..6529174decd 100644 --- a/addons/website/models/website_menu.py +++ b/addons/website/models/website_menu.py @@ -31,10 +31,15 @@ class Menu(models.Model): @api.multi def name_get(self): + if not self._context.get('display_website') and not self.env.user.has_group('website.group_multi_website'): + return super(Menu, self).name_get() + res = [] for menu in self: - website_suffix = '%s - %s' % (menu.name, menu.website_id.name) - res.append((menu.id, website_suffix if menu.website_id and self.env.user.has_group('website.group_multi_website') else menu.name)) + menu_name = menu.name + if menu.website_id: + menu_name += ' [%s]' % menu.website_id.name + res.append((menu.id, menu_name)) return res @api.model diff --git a/addons/website/views/website_views.xml b/addons/website/views/website_views.xml index 8811cb5e999..28984d4bf5b 100644 --- a/addons/website/views/website_views.xml +++ b/addons/website/views/website_views.xml @@ -139,7 +139,7 @@ - + @@ -200,7 +200,7 @@ - + @@ -228,7 +228,7 @@ - + @@ -266,6 +266,9 @@ + + {'display_website': True} +