def POST(self): """TODO: handle redir""" i = web.input(username='', passwd='', redir='/') if not Academic.validates(i.username, i.passwd): return render().auth.login(err=AUTH_ERR['malformed_creds']) if login(i.username, i.passwd): raise web.seeother(i.redir) return render().auth.login(err=AUTH_ERR['wrong_creds'])
def POST(self): i = web.input(username='', passwd='', redir='/') if session().logged: raise web.seeother(i.redir) if not Academic.validates(i.username, i.passwd): return render().auth.login(err=AUTH_ERR['malformed_creds']) # attempting login first if login(i.username, i.passwd): raise web.seeother(i.redir) try: u = Academic.register(i.username, i.passwd, **Academic.defaults()) u.login() raise web.seeother(i.redir) except Academic.RegistrationException as e: err = AUTH_ERR[str(e.message)] return render().auth.register(err=err)