def sign_up(req): if req.method == "POST": robot = True if req.form.getfirst("robot", "", str) else False qid = int(req.form.getfirst("qid", "0", str), 16) question, answer = robot_questions[qid] check = req.form.getfirst("answer", "", str) == answer login = Login() login.bind(req.form, req.cfg.login_rounds) if robot or not check: return generate_page( req, "/login/login_mod.html", item=login, question=question, answer=answer, check=check, qid=hex(qid), form=req.form, ) error = login.add(req, True) if error: return generate_page( req, "/login/login_mod.html", item=login, error=error, question=question, answer=answer, check=check, qid=hex(qid), form=req.form, password_link=req.cfg.login_forget_password_link, ) send_login_created(req, login) return generate_page(req, "/login/waiting_for_verification.html", item=login) # endif qid = randint(0, len(robot_questions) - 1) question, answer = robot_questions[qid] return generate_page( req, "/login/login_mod.html", item=Object(), question=question, answer=answer, qid=hex(qid), form=Object() )
def admin_logins_add(req): check_login(req) check_right(req, R_ADMIN) token = do_create_token(req, "/admin/logins/add") if req.method == "POST": check_token(req, req.form.get("token")) login = Login() login.bind(req.form, req.cfg.login_rounds) if not req.cfg.login_created_verify_link: login.enabled = 1 login.rights = ["user"] error = login.add(req) if error: return generate_page(req, "admin/logins_mod.html", token=token, rights=rights, item=login, error=error) if req.cfg.login_created_verify_link: send_login_created(req, login) redirect(req, "/admin/logins/%d" % login.id) # endif return generate_page(req, "admin/logins_mod.html", token=token, rights=rights)