[FIX] auth_signup: fix route when mode signup or reset

Do not call super web_login when in mode reset or signup mode, as this is non-sense.

bzr revid: odo@openerp.com-20140219110335-lz7ti2r1dxst36ty
This commit is contained in:
Denis Ledoux 2014-02-19 12:03:35 +01:00 committed by Olivier Dony
parent a09b0db51d
commit 4821fad601
1 changed files with 6 additions and 3 deletions

View File

@ -36,7 +36,10 @@ class AuthSignup(openerp.addons.web.controllers.main.Home):
def web_login(self, *args, **kw):
mode = request.params.get('mode')
qcontext = request.params.copy()
super_response = super(AuthSignup, self).web_login(*args, **kw)
super_response = None
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)
response = webmain.render_bootstrap_template(request.session.db, 'auth_signup.signup', qcontext, lazy=True)
if isinstance(super_response, LazyResponse):
response.params['values'].update(super_response.params['values'])
@ -78,8 +81,8 @@ class AuthSignup(openerp.addons.web.controllers.main.Home):
res_users.reset_password(request.cr, openerp.SUPERUSER_ID, login)
qcontext['message'] = _("An email has been sent with credentials to reset your password")
response.params['template'] = 'web.login'
except Exception:
qcontext['error'] = _("Could not reset your password")
except Exception, e:
qcontext['error'] = exception_to_unicode(e) or _("Could not reset your password")
_logger.exception('error when resetting password')
else:
values = dict((key, qcontext.get(key)) for key in ('login', 'name', 'password'))