diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index ebcd5d9e3e4..43e0ba7b31d 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -613,7 +613,8 @@ class Home(http.Controller): @http.route('/web/login', type='http', auth="none") def web_login(self, redirect=None, **kw): - assert request.session.db is not None + if request.session.db is None: + return redirect_with_hash('/web/database/selector', keep_query=['debug']) values = request.params.copy() if not redirect: redirect = '/web?' + request.httprequest.query_string @@ -799,9 +800,12 @@ class Database(http.Controller): @http.route('/web/database/selector', type='http', auth="none") def selector(self, **kw): - dbs = http.db_list(True) - if not dbs: - return redirect_with_hash('/web/database/manager', keep_query=['debug']) + try: + dbs = http.db_list() + if not dbs: + return redirect_with_hash('/web/database/manager', keep_query=['debug']) + except openerp.exceptions.AccessDenied: + dbs = False return env.get_template("database_selector.html").render({ 'databases': dbs, 'debug': request.debug, diff --git a/addons/web/views/database_selector.html b/addons/web/views/database_selector.html index 1ed3bf1bc3d..21a1979b5f1 100644 --- a/addons/web/views/database_selector.html +++ b/addons/web/views/database_selector.html @@ -21,12 +21,16 @@
- + {% if databases %} + + {% else %} + + {% endif %}