[FIX] website: don't suffix cloned menu/page with 'Copy'

This behavior is useless in the front end (`clone_page`) as people cloning a
page will leave the page with copy in the page name without even noticing it.

Furthermore, creating or copying a website will bootstrap (clone) some pages,
suffixing all of these page by 'Copy'.
This commit is contained in:
Romain Derie
2018-08-24 09:21:46 +02:00
committed by Jeremy Kersten
parent 8c701f2c9b
commit f6e4f3aa0f
+2 -4
View File
@@ -986,7 +986,6 @@ class Page(models.Model):
new_view = view.copy({'website_id': default.get('website_id')})
default['view_id'] = new_view.id
default['name'] = default.get('name', '%s %s' % (self.name, _('(copy)')))
default['url'] = default.get('url', self.env['website'].get_unique_path(self.url))
return super(Page, self).copy(default=default)
@@ -996,15 +995,14 @@ class Page(models.Model):
:param page_id : website.page identifier
"""
page = self.browse(int(page_id))
new_page = page.copy(dict(website_id=self.env['website'].get_current_website().id))
new_page = page.copy(dict(name=page.name, website_id=self.env['website'].get_current_website().id))
# Should not clone menu if the page was cloned from one website to another
# Eg: Cloning a generic page (no website) will create a page with a website, we can't clone menu (not same container)
if clone_menu and new_page.website_id == page.website_id:
menu = self.env['website.menu'].search([('page_id', '=', page_id)], limit=1)
if menu:
# If the page being cloned has a menu, clone it too
new_menu = menu.copy()
new_menu.write({'url': new_page.url, 'name': '%s %s' % (menu.name, _('(copy)')), 'page_id': new_page.id})
menu.copy({'url': new_page.url, 'name': menu.name, 'page_id': new_page.id})
return new_page.url + '?enable_editor=1'