summaryrefslogtreecommitdiff
path: root/addons/website/controllers/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/controllers/main.py')
-rw-r--r--addons/website/controllers/main.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py
index 5689b37352c..5287d480d71 100644
--- a/addons/website/controllers/main.py
+++ b/addons/website/controllers/main.py
@@ -81,6 +81,11 @@ class Website(Home):
raise request.not_found()
+ @http.route('/website/set_session_website', type='json', auth="user")
+ def set_session_website(self, website_id):
+ request.env['website'].browse(int(website_id) if website_id else False)._fix_to_session()
+ return True
+
#------------------------------------------------------
# Login - overwrite of the web login so that regular users are redirected to the backend
# while portal users are redirected to the frontend by default
@@ -221,7 +226,7 @@ class Website(Home):
# default sortby order
sort_order = searchbar_sortings.get(sortby, 'name')['order']
- domain = ['|', ('website_ids', 'in', request.website.id), ('website_ids', '=', False)]
+ domain = ['|', ('website_id', '=', False), ('website_id', '=', request.website.id)]
if search:
domain += ['|', ('name', 'ilike', search), ('url', 'ilike', search)]
@@ -236,6 +241,9 @@ class Website(Home):
)
pages = Page.search(domain, order=sort_order, limit=50, offset=pager['offset'])
+ # only include pages if they are the most specific one available
+ pages = pages.filtered(pages._is_most_specific_page)
+
values = {
'pager': pager,
'pages': pages,