Пример #1
0
def reset_pw():
    """ Shows and processes the password reset form. """

    util.stat_api()

    form = ResetForm()

    if flask.request.method == 'POST' and form.validate():
        user = users.User(username=form.username.data)
        reset_result = user.reset_password(
            new_password = form.password.data,
            recovery_code = flask.request.args.get('recovery_code')
        )

        # user.reset_password() logs the user in, so we should have an _id and
        # a self.token now, which we can use to log us into AKDMM
        if user._id is not None and user.token is not None:
            flask_login.login_user(user, remember=form.remember_me.data)
            next_page = flask.url_for('dashboard')
            redirect = flask.redirect(next_page)
            response = akdm.make_response(redirect)
            response.set_cookie('akdm_token', user.token)
            return response
        else:
            flask.flash(reset_result)

    return flask.render_template(
        'reset_password.html',
        api=akdm.config['api'],
        meta=settings.get_meta_dict(),
        form=form
    )
Пример #2
0
def ResetPwd():
    form = ResetForm()

    if form.validate_on_submit():
        username = form.username.data
        authkey = form.authkey.data
        pwd = form.pwd.data

        user = User.query.filter_by(name=username).first()
        if user == None:
            log_info('用户未注册')
        else:
            if authkey == user.authkey:
                user.password = pwd
                db.session.commit()
                log_info('密码修改成功,请登录')
                return redirect(url_for('login'))
            else:
                log_info('注册口令无效')

    # if form.pwd.errors:
    #     log_info(form.pwd.errors[0])
    # if form.confirm.errors:
    #     log_info(form.confirm.errors[0])
    # if form.username.errors:
    #     log_info(form.username.errors[0])
    if form.pwd.errors:
        log_info('密码长度需在8~20内')
    if form.confirm.errors:
        log_info('密码输入不一致')
    if form.username.errors:
        log_info('用户未注册')

    return render_template('reset.html', title='忘记密码', form=form)
Пример #3
0
def reset_draft():
    settings = Settings.query.all()
    is_active = [x.active for x in settings][0]
    reset = ResetForm()
    if reset.submit.data and reset.validate_on_submit() and is_active == 1:
        print("reset validated")
        PlayerStatus.reset()
        Settings.reset()
        PlayerWeeklyStats.reset()
        Week.reset()
    return redirect('/index')
Пример #4
0
def reset():
    user = current_user
    form = ResetForm()
    if form.validate_on_submit():
        if not user.checkpw(form.password_o.data):
            flash("Password Incorrect")
            return redirect(url_for('reset'))
        user.setpw(form.password_n.data)
        db.session.commit()
        return redirect(url_for('user', username=current_user.username))
    return render_template('reset.html', title='Reset Password', form=form)
Пример #5
0
def reset(username):
    user = User.query.filter_by(username=username).first_or_404()

    form = ResetForm()

    if form.validate_on_submit():
        user.set_password(form.password.data)
        db.session.commit()
        flash("Password has been successfully reset. Please login")
        return redirect(url_for('logout'))

    return render_template('reset_password.html', user=user, form=form)
Пример #6
0
def reset_password(token):
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    user_re_psw = User.verify_reset_password(token)
    if not user_re_psw:
        return redirect(url_for('index'))
    form_re_psw = ResetForm()
    if form_re_psw.validate_on_submit():
        user_re_psw.set_password(form_re_psw.password.data)
        db.session.commit()
        flash('Your password have been reset.')
        return redirect(url_for('login'))
    return render_template('reset_password.html', title="Reset", form=form_re_psw)
Пример #7
0
def ResetRequest():
    if current_user.is_authenticated:
        return redirect(url_for('Home'))
    form = ResetForm()
    # if the email was found, a email will be sent with a password reset link
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        SendEmail(user)
        flash('Email sent with password reset instructions.', 'info')
        return redirect(url_for('Login'))
    return render_template('resetrequest.html',
                           title='Reset Password',
                           form=form)
Пример #8
0
def reset():
    form = ResetForm()
    if form.validate_on_submit():
        try:
            if credentials_compromised(form.email.data,
                                       form.new_password.data):
                flash(
                    f'The password you entered is also compromised. Please try another.'
                )
                return redirect(url_for('reset'))
            else:
                return redirect(url_for('success'))
        except ApiError as e:
            return redirect(url_for('spy_cloud_api_error'))

    return render_template('reset.html', title='Reset Password', form=form)
Пример #9
0
def index():
    submit_form = SubmitForm()
    reset_form = ResetForm()
    if submit_form.validate_on_submit():
        old_recipe = submit_form.recipe.data
        new_recipe, replacements = vegeterizer.vegeterize(old_recipe)
        replacements = [{'ingr': key, 'r': val} for key, val in replacements.items()]
        return render_template('index.html', new_recipe=new_recipe, replacements=replacements, reset_form=reset_form, old_recipe=old_recipe)
    return render_template('index.html', submit_form=submit_form)
Пример #10
0
def reset_password():
    form = ResetForm(request.form)
    if form.validate():
        user = UserInfo.query.filter(UserInfo.email == form.email.data).first()
        token = generate_confirmation_token(user.email)

        user.password_token = token
        db.session.commit()

        change_url = url_for('change_password', token=token, _external=True)

        html = render_template('reset.html',
                               username=user.username,
                               change_url=change_url)
        subject = "Reset your password"
        send_email(user.email, subject, html)

        flash('A password reset email has been sent via email.', 'success')
        return redirect(url_for('login'))

    return render_template('reset_password.html', form=form)
Пример #11
0
def base():
    # return "sup bois"
    reset = ResetForm()
    reset_all = ResetAllForm()
    iterate = IterateWeekForm()
    settings = Settings.query.all()
    is_active = [x.active for x in settings][0]
    week = Week.query.all()
    week_number = [x.week_number for x in week][0]
    return render_template("index.html",
                           reset=reset,
                           reset_all=reset_all,
                           is_active=is_active,
                           iterate=iterate,
                           week_number=week_number)
Пример #12
0
def reset():
    form = ResetForm()
    flash('reset function not set yet')
    return redirect(url_for('login'))