[IMP] website: show website name in ir.ui.view name_get

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) <jke@openerp.com>
This commit is contained in:
Romain Derie
2019-07-01 09:48:57 +00:00
parent c33a347e6a
commit ea3a2ab678
3 changed files with 26 additions and 5 deletions
+13
View File
@@ -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
+7 -2
View File
@@ -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
+6 -3
View File
@@ -139,7 +139,7 @@
<group>
<field name="name"/>
<field name="url"/>
<field name="view_id"/>
<field name="view_id" context="{'display_website': True}"/>
<field name="is_published" groups="base.group_no_one"/>
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
</group>
@@ -200,7 +200,7 @@
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
</group>
<group>
<field name="parent_id"/>
<field name="parent_id" context="{'display_website': True}"/>
<field name="group_ids"/>
</group>
</group>
@@ -228,7 +228,7 @@
<field name="name"/>
<field name="url"/>
<field name="new_window"/>
<field name="parent_id"/>
<field name="parent_id" context="{'display_website': True}"/>
<field name="group_ids" widget="many2many_tags"/>
</tree>
</field>
@@ -266,6 +266,9 @@
<field name="inherit_id" ref="base.view_view_form"/>
<field name="arch" type="xml">
<field name="inherit_id" position="attributes">
<attribute name="context">{'display_website': True}</attribute>
</field>
<field name="name" position="after">
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
<field name="key"/>