Exemplo n.º 1
0
def recover_step2(key):
    user = User.by_recover_key(key)
    if not user:
        abort(404)

    form = RecoverStep2Form(key='%x' % key)
    if form.validate_on_submit():
        return recover_step2_post(key, form)

    return render_template('users/recover_step2.jinja', form=form)
Exemplo n.º 2
0
def recover_step2(key):
    user = User.by_recover_key(key)
    if not user:
        abort(404)

    form = RecoverStep2Form(key='%x' % key)
    if form.validate_on_submit():
        return recover_step2_post(key, form)

    return render_template('users/recover_step2.jinja', form=form)
Exemplo n.º 3
0
    def recover_post(self, key, password, verify_password, **kw):
        user = User.by_recover_key(int(key, 16))
        if user is None:
                raise HTTPNotFound

        user.password = password
        user.recover_key = None

        flash(_('Password changed.'))
        return redirect('/')
Exemplo n.º 4
0
    def recover(self, key=None, **kwargs):
        if key is None:
            return dict(page='users', form=recover_email_form, values={})
        else:
            user = User.by_recover_key(int(key, 16))
            if user is None:
                    raise HTTPNotFound

            return dict(page='users', form=recover_password_form,
                        values=dict(key=key))
Exemplo n.º 5
0
def recover_step2_post(key, form):
    user = User.by_recover_key(key)
    if not user:
        abort(404)

    user.password = form.password.data
    user.recover_key = None

    flash(_('Password changed.'))

    db.session.commit()

    return redirect(url_for('index'))
Exemplo n.º 6
0
def recover_step2_post(key, form):
    user = User.by_recover_key(key)
    if not user:
        abort(404)

    user.password = form.password.data
    user.recover_key = None

    flash(_('Password changed.'))

    db.session.commit()

    return redirect(url_for('index'))
Exemplo n.º 7
0
    def recover(self, key=None, **kwargs):
        try:
            key = int(key, 16)
        except:
            key = None

        if key is None:
            return dict(active_page='users', form=recover_email_form, values={})
        else:
            user = User.by_recover_key(key)
            if user is None:
                    raise HTTPNotFound

            return dict(active_page='users', form=recover_password_form,
                        values=dict(key='%x' % key))
Exemplo n.º 8
0
def recover_step2_post(json):
    try:
        data = CurrentUserSchema(only=("password", "recoveryKey")).load(json).data
    except ValidationError as e:
        return jsonify(error="validation-failed", fields=e.messages), 422

    user = User.by_recover_key(int(data["recover_key"], base=16))
    if not user:
        return jsonify(error="recovery-key-unknown"), 422

    user.password = data["password"]
    user.recover_key = None

    db.session.commit()

    return jsonify()
Exemplo n.º 9
0
def recover_step2_post(json):
    try:
        data = CurrentUserSchema(only=("password",
                                       "recoveryKey")).load(json).data
    except ValidationError as e:
        return jsonify(error="validation-failed", fields=e.messages), 422

    user = User.by_recover_key(int(data["recover_key"], base=16))
    if not user:
        return jsonify(error="recovery-key-unknown"), 422

    user.password = data["password"]
    user.recover_key = None

    db.session.commit()

    return jsonify()
Exemplo n.º 10
0
    except:
        print text
        raise ServiceUnavailable(
            description=_("The mail server is currently not reachable. "
                          "Please try again later or contact the developers."))


def recover_step2_post(json):
    try:
        data = CurrentUserSchema(only=('password',
                                       'recoveryKey')).load(json).data
    except ValidationError, e:
        return jsonify(error='validation-failed', fields=e.messages), 422

    user = User.by_recover_key(int(data['recover_key'], base=16))
    if not user:
        return jsonify(error='recovery-key-unknown'), 422

    user.password = data['password']
    user.recover_key = None

    db.session.commit()

    return jsonify()


@users_blueprint.route('/check-email', methods=['POST'])
def check_email():
    json = request.get_json()
    if not json:
Exemplo n.º 11
0
                      user.email_address.encode('ascii'), msg.as_string())
        smtp.quit()

    except:
        raise ServiceUnavailable(description=(
            "The mail server is currently not reachable. "
            "Please try again later or contact the developers."))


def recover_step2_post(json):
    try:
        data = CurrentUserSchema(only=('password', 'recoveryKey')).load(json).data
    except ValidationError, e:
        return jsonify(error='validation-failed', fields=e.messages), 422

    user = User.by_recover_key(int(data['recover_key'], base=16))
    if not user:
        return jsonify(error='recovery-key-unknown'), 422

    user.password = data['password']
    user.recover_key = None

    db.session.commit()

    return jsonify()


@users_blueprint.route('/users/check-email', methods=['POST'])
@oauth.optional()
def check_email():
    current_user = User.get(request.user_id) if request.user_id else None