[IMP] oaut & signup, redirect if already logged in
authorFabien Meghazi <fme@openerp.com>
Wed, 12 Mar 2014 11:21:41 +0000 (12:21 +0100)
committerFabien Meghazi <fme@openerp.com>
Wed, 12 Mar 2014 11:21:41 +0000 (12:21 +0100)
bzr revid: fme@openerp.com-20140312112141-uvo89w4ovmzq5ozq

addons/auth_oauth/controllers/main.py
addons/auth_signup/controllers/main.py

index 53a6ffd..a338927 100644 (file)
@@ -68,6 +68,9 @@ class OAuthLogin(openerp.addons.web.controllers.main.Home):
 
     @http.route()
     def web_login(self, *args, **kw):
+        if request.httprequest.method == 'GET' and request.session.uid and request.params.get('redirect'):
+            # Redirect if already logged in and redirect param is present
+            return http.redirect_with_hash(request.params.get('redirect'))
         providers = self.list_providers()
 
         response = super(OAuthLogin, self).web_login(*args, **kw)
index 08b6710..92ae636 100644 (file)
@@ -37,6 +37,9 @@ class AuthSignup(openerp.addons.web.controllers.main.Home):
         mode = request.params.get('mode')
         qcontext = request.params.copy()
         super_response = None
+        if request.httprequest.method == 'GET' and request.session.uid and request.params.get('redirect'):
+            # Redirect if already logged in and redirect param is present
+            return http.redirect_with_hash(request.params.get('redirect'))
         if request.httprequest.method != 'POST' or mode not in ('reset', 'signup'):
             # Default behavior is to try to login,  which in reset or signup mode in a non-sense.
             super_response = super(AuthSignup, self).web_login(*args, **kw)