[FIX] web: avoid useless redirection when in mono db mode

bzr revid: chs@openerp.com-20131022104145-janmthq1r6sibm2e
This commit is contained in:
Christophe Simonis 2013-10-22 12:41:45 +02:00
parent fadd46c5cb
commit d97bd2bce2
1 changed files with 10 additions and 5 deletions

View File

@ -529,12 +529,14 @@ class Home(http.Controller):
def index(self, s_action=None, db=None, debug=False, **kw):
debug = debug != False
lst = http.db_list(True)
try:
lst = http.db_list()
except openerp.exceptions.AccessDenied:
lst = []
if db not in lst:
db = None
guessed_db = http.db_monodb(request.httprequest)
if guessed_db is None and len(lst) > 0:
guessed_db = lst[0]
def redirect(db):
query = dict(urlparse.parse_qsl(request.httprequest.query_string, keep_blank_values=True))
@ -542,8 +544,11 @@ class Home(http.Controller):
redirect = request.httprequest.path + '?' + urllib.urlencode(query)
return redirect_with_hash(redirect)
if db is None and guessed_db is not None:
return redirect(guessed_db)
if guessed_db is None and db is None and lst:
return redirect(lst[0])
if guessed_db is None and lst:
guessed_db = lst[0]
if db is not None and db != guessed_db:
request.session.logout()