Exemple #1
0
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()
    )
Exemple #2
0
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)