summaryrefslogtreecommitdiff
path: root/addons/website/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/controllers')
-rw-r--r--addons/website/controllers/backend.py9
-rw-r--r--addons/website/controllers/main.py10
2 files changed, 17 insertions, 2 deletions
diff --git a/addons/website/controllers/backend.py b/addons/website/controllers/backend.py
index e5a2ecfa87e..9932843ff3a 100644
--- a/addons/website/controllers/backend.py
+++ b/addons/website/controllers/backend.py
@@ -8,7 +8,7 @@ from odoo.http import request
class WebsiteBackend(http.Controller):
@http.route('/website/fetch_dashboard_data', type="json", auth='user')
- def fetch_dashboard_data(self, date_from, date_to):
+ def fetch_dashboard_data(self, website_id, date_from, date_to):
has_group_system = request.env.user.has_group('base.group_system')
has_group_designer = request.env.user.has_group('website.group_website_designer')
dashboard_data = {
@@ -21,6 +21,13 @@ class WebsiteBackend(http.Controller):
'visits': {},
}
}
+
+ current_website = request.env['website'].browse(website_id) if website_id else request.env['website'].get_current_website()
+ dashboard_data['websites'] = request.env['website'].search_read([], ['id', 'name'])
+ for website in dashboard_data['websites']:
+ if website['id'] == current_website.id:
+ website['selected'] = True
+
if has_group_designer:
config = request.env['res.config.settings'].sudo().create({})
if config.has_google_analytics_dashboard:
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,