summaryrefslogtreecommitdiff
path: root/addons/auth_oauth/controllers
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-10-20 16:02:12 +0200
committerChristophe Simonis <chs@odoo.com>2017-10-20 16:02:12 +0200
commite2532f855f7088ea772903a610e883c7479fbf36 (patch)
tree6ba4d4039862aceb3442121bf685abf546b4c74f /addons/auth_oauth/controllers
parent786b67ab4967168a9f74cf1eed68a7cae411bb3b (diff)
parent31c1be1fac29cb0298827e1d686d956b0339df24 (diff)
[MERGE] forward port branch 9.0 up to 31c1be1fac2
Diffstat (limited to 'addons/auth_oauth/controllers')
-rw-r--r--addons/auth_oauth/controllers/main.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py
index aa3f4e69b5c..a5a888f51a2 100644
--- a/addons/auth_oauth/controllers/main.py
+++ b/addons/auth_oauth/controllers/main.py
@@ -6,6 +6,7 @@ import logging
import json
+import werkzeug.urls
import werkzeug.utils
from werkzeug.exceptions import BadRequest
@@ -148,7 +149,11 @@ class OAuthController(http.Controller):
url = '/web#action=%s' % action
elif menu:
url = '/web#menu_id=%s' % menu
- return login_and_redirect(*credentials, redirect_url=url)
+ resp = login_and_redirect(*credentials, redirect_url=url)
+ # Since /web is hardcoded, verify user has right to land on it
+ if werkzeug.urls.url_parse(resp.location).path == '/web' and not request.env.user.has_group('base.group_user'):
+ resp.location = '/'
+ return resp
except AttributeError:
# auth_signup is not installed
_logger.error("auth_signup not installed on database %s: oauth sign up cancelled." % (dbname,))