def login(req): referer = req.args.getfirst("referer", "", str) data = Object(referer=referer, email="") if req.method == "POST": login = Login() login.bind(req.form, req.cfg.login_rounds) ip = "ip" in req.form if login.find(req): do_login(req, login.simple(), ip) if referer: redirect(req, referer) if "admin" in login.rights or "super" in login.rights: redirect(req, "/admin") redirect(req, "/") data.ip = ip data.email = login.email data.error = BAD_LOGIN return generate_page( req, "login.html", data=data, sign_up=req.cfg.login_sign_up, password_link=req.cfg.login_forget_password_link )
def verify(req, servis_hash): login = Login() status = login.verify(req, servis_hash) if status is True: do_login(req, login.simple()) redirect(req, "/") elif status == OK: return generate_page(req, "/login/email_verificated.html") else: return generate_page(req, "/login/email_verificated.html", error=status, item=login)