diff options
Diffstat (limited to 'addons/website/controllers')
| -rw-r--r-- | addons/website/controllers/backend.py | 9 | ||||
| -rw-r--r-- | addons/website/controllers/main.py | 10 |
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, |
