[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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
Reference in New Issue
Block a user