def POST(self): i = web.input(username='', email='', password='', redir='/') i.email = i.email.lower() u = User.register(i.username, i.password, email=i.email) if User.authenticate(i.username, i.password, u.salt, u.uhash): # Logic to populate session() with user vars: session().logged = True session().username = i.username # migrate elsewhere, maybe utils redir if i.redir: if not i.redir[0] == "/": i.redir = "/" + i.redir elif i.redir[0] == "/": i.redir = "/" raise web.seeother(web.ctx.homedomain + i.redir) raise web.seeother(web.ctx.homedomain + "/account") return render().login(msg=ERROR_LOGIN_PASSWD['key']) session().logged = True session().username = i.username raise web.seeother('/account')
def POST(self): i = web.input(email="", password="") if not waltz.utils.valid_email(i.email): return self.GET(msg="invalid email") try: u = User(i.email) except AttributeError: return self.GET(msg="no such user") if u.authenticate(i.password): session().update({'logged': True, 'email': i.email}) raise web.seeother('/') return self.GET(msg="invalid credentials")