summaryrefslogtreecommitdiff
path: root/addons/website
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2013-11-27 11:43:07 +0100
committerFabien Meghazi <fme@openerp.com>2013-11-27 11:43:07 +0100
commitf6e15b4e4da2b533fd3d3500bf9fe8dcdb5ee464 (patch)
tree4896cadc9942adb9db7ed3eaee9bdcbe01c850be /addons/website
parent633e0f5b8188db052a846cc617f47d153cf44af4 (diff)
[FIX] root menu first item triggered on / route
bzr revid: fme@openerp.com-20131127104307-ju8aqu7uuyrfsnpm
Diffstat (limited to 'addons/website')
-rw-r--r--addons/website/controllers/main.py21
1 files changed, 8 insertions, 13 deletions
diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py
index a214e6cd334..26ee229fa33 100644
--- a/addons/website/controllers/main.py
+++ b/addons/website/controllers/main.py
@@ -32,19 +32,14 @@ MAX_IMAGE_WIDTH, MAX_IMAGE_HEIGHT = IMAGE_LIMITS = (1024, 768)
class Website(openerp.addons.web.controllers.main.Home):
@website.route('/', type='http', auth="public", multilang=True)
def index(self, **kw):
- # TODO: check if plain SQL is needed
- menu = request.registry['website.menu']
- root_domain = [('parent_id', '=', False)] # TODO: multiwebsite ('website_id', '=', request.website.id),
- root_id = menu.search(request.cr, request.uid, root_domain, limit=1, context=request.context)[0]
- first_menu = menu.search_read(
- request.cr, request.uid, [('parent_id', '=', root_id)], ['url'],
- limit=1, order='sequence', context=request.context)
- if first_menu:
- first_menu = first_menu[0]['url']
- if first_menu and first_menu != '/':
- return request.redirect(first_menu)
- else:
- return self.page("website.homepage")
+ try:
+ main_menu = request.registry['ir.model.data'].get_object(request.cr, request.uid, 'website', 'main_menu')
+ first_menu = main_menu.child_id and main_menu.child_id[0]
+ if first_menu and first_menu.url != '/':
+ return request.redirect(first_menu.url)
+ except:
+ pass
+ return self.page("website.homepage")
@website.route('/pagenew/<path:path>', type='http', auth="user")
def pagenew(self, path, noredirect=NOPE):