summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/website/models/website.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/addons/website/models/website.py b/addons/website/models/website.py
index 1fddda51349..12ad1460b01 100644
--- a/addons/website/models/website.py
+++ b/addons/website/models/website.py
@@ -188,6 +188,7 @@ class Website(models.Model):
# Page Management
# ----------------------------------------------------------
def _bootstrap_homepage(self):
+ Page = self.env['website.page']
standard_homepage = self.env.ref('website.homepage', raise_if_not_found=False)
if not standard_homepage:
return
@@ -200,10 +201,19 @@ class Website(models.Model):
</t>''' % (self.id)
standard_homepage.with_context(website_id=self.id).arch_db = new_homepage_view
- self.homepage_id = self.env['website.page'].search([('website_id', '=', self.id),
- ('key', '=', standard_homepage.key)])
+ homepage_page = Page.search([
+ ('website_id', '=', self.id),
+ ('key', '=', standard_homepage.key),
+ ])
+ if not homepage_page:
+ homepage_page = Page.create({
+ 'website_published': True,
+ 'url': '/',
+ 'view_id': self.with_context(website_id=self.id).viewref('website.homepage').id,
+ })
# prevent /-1 as homepage URL
- self.homepage_id.url = '/'
+ homepage_page.url = '/'
+ self.homepage_id = homepage_page
# Bootstrap default menu hierarchy, create a new minimalist one if no default
default_menu = self.env.ref('website.main_menu')