Пример #1
0
def login_mod(req):
    check_login(req)

    login = Login(req.login.id)
    token = do_create_token(req, "/login")

    state = None
    if req.method == "POST":
        check_token(req, req.form.get("token"))
        login.bind(req.form, req.cfg.login_rounds)
        email = login.email if login.email != req.login.email else None
        state = login.pref(req, email=email)

        if 0 < state < 64:
            return generate_page(req, "login/login_mod.html", token=token, item=login, error=state)

        state = 0 if state is None else state
        if email:
            host = "%s (%s)" % (req.remote_host, req.remote_addr)
            send_verify_email(req, login, req.login.email, host=host, browser=req.user_agent)
            state |= REQUEST_FOR_EMAIL
    else:
        email = None
    # endif

    login.get(req)
    req.login = login
    return generate_page(req, "login/login_mod.html", token=token, item=login, state=state, email=email)
Пример #2
0
def admin_login_addresses(req, id):
    check_login(req)
    check_right(req, module_right)

    login = Login(id)

    if req.method == 'GET':
        if not login.get(req):
            raise SERVER_RETURN(state.HTTP_NOT_FOUND)

        return generate_page(req, "admin/logins_addresses.html",
                             item=login,
                             cfg_region=req.cfg.addresses_region,
                             cfg_country=req.cfg.addresses_country)

    # req.method == 'PUT'       # ajax put
    addresses = Addresses.bind(req.json)
    if not addresses.mod(req, id) is None:
        raise SERVER_RETURN(state.HTTP_NOT_FOUND)

    login.get(req)
    req.content_type = 'application/json'
    return json.dumps(login.data.get('addresses', {}))
Пример #3
0
def admin_logins_mod(req, id):
    check_login(req)
    check_right(req, R_ADMIN)
    token = do_create_token(req, "/admin/logins/%d" % id)

    login = Login(id)
    if req.login.id == login.id:  # not good idea to remove
        raise SERVER_RETURN(state.HTTP_FORBIDDEN)  # rights himself

    done = None
    if req.method == "POST":
        check_token(req, req.form.get("token"))
        login.bind(req.form, req.cfg.login_rounds)
        done = login.mod(req)

        if 0 < done < 64:
            return generate_page(req, "admin/logins_mod.html", token=token, rights=rights, item=login, error=done)
        # endif
    # endif

    if not login.get(req):
        raise SERVER_RETURN(state.HTTP_NOT_FOUND)
    return generate_page(req, "admin/logins_mod.html", token=token, rights=rights, item=login, state=done)