Exemplo n.º 1
0
def passwordupdate():
    pform = PasswordChangeForm()
    if pform.validate_on_submit():
        current_user.set_password(pform.new.data)
        current_user.save()
        flash("Password updated")
        return redirect(url_for('main.user', username=current_user.username))
    form = UserUpdateForm().populate_choices()
    modal_title = "Edit User Information"
    modal_title_2 = "Change Password"
    pword_open = True
    flash("Password update failed, please correct errors")
    page = request.args.get('page', 1, int)
    user = current_user
    reviews = user.reviews
    summary = user.summary()
    pag_args = {"username": user.username}
    pagination = Pagination(reviews, page, current_app.config.get('PER_PAGE'))
    pag_urls = pagination.get_urls('main.user', pag_args)
    reviews = pagination.paginatedData
    return render_template("user.html",
                           title="User Profile",
                           user=user,
                           reviews=reviews,
                           form=form,
                           modal_title=modal_title,
                           pform=pform,
                           modal_title_2=modal_title_2,
                           pword_open=pword_open,
                           pag_urls=pag_urls,
                           summary=summary)
Exemplo n.º 2
0
def change_password():
    form = PasswordChangeForm()
    if form.validate_on_submit():
        if current_user.verify_password(form.oldpassword.data):
            current_user.password = form.newpassword.data
            db.session.merge(current_user)
            db.session.commit()
        return redirect(url_for('auth.change_success'))
    return render_template('auth/change_password.html', form=form)
def test_valid():
    data = {
        "current_password": "******",
        "new_password": "******",
        "confirm_new_password": "******",
    }
    form = PasswordChangeForm(DummyPostData(data))
    assert form.validate()
    assert form.data == data
def test_passwords_dont_match():
    data = {
        "current_password": "******",
        "new_password": "******",
        "confirm_new_password": "******",
    }
    form = PasswordChangeForm(DummyPostData(data))
    assert form.validate() is False
    assert form.errors == {
        "confirm_new_password": ["The passwords do not match."]
    }
Exemplo n.º 5
0
def password_change():
    form = PasswordChangeForm()
    if form.validate_on_submit():
        user = User.query.filter_by(id=current_user.id).first()
        if not user.check_password(form.current_password.data):
            flash('Current password is incorrect', category='danger')
            return redirect(url_for('order.password_change'))
        user.password_change(form.new_password.data)
        flash('Password changed')
        logout_user()
        return redirect(url_for('auth.login'))
    return render_template('auth/password_change.html',
                           title='Password Change',
                           form=form)
Exemplo n.º 6
0
    async def post(self, request):
        template = "auth/password_change.html"

        data = await request.form()
        form = PasswordChangeForm(data)

        if not form.validate():
            context = {"request": request, "form": form}
            return templates.TemplateResponse(template, context)

        if not request.user.check_password(form.current_password.data):
            form.current_password.errors.append("Enter your current password.")
            context = {"request": request, "form": form}
            return templates.TemplateResponse(template, context)

        else:
            request.user.set_password(form.new_password.data)
            await request.user.save()

        return RedirectResponse(url="/", status_code=status.HTTP_302_FOUND)
Exemplo n.º 7
0
def auth_pwupdate():
    form = PasswordChangeForm(request.form)
    if not bcrypt.check_password_hash(current_user.password_hash,
                                      form.oldpassword.data):
        return render_accountsettings(
            passwordMsg="Old password is wrong! Please try again.")

    pw_hash = bcrypt.generate_password_hash(
        form.newpassword.data).decode("utf-8")
    current_user.password_hash = pw_hash
    db.session().commit()

    return render_accountsettings(passwordMsg="Password has been changed.")
Exemplo n.º 8
0
def render_accountsettings(passwordChangeForm=None,
                           inviteForm=None,
                           invitedDoneMsg="",
                           passwordMsg=""):
    return render_template(
        "auth/accountsettings.html",
        contactlist=current_user.get_contact_list(),
        pendingContactList=current_user.get_pending_contacts(),
        pwchangeform=passwordChangeForm
        if passwordChangeForm else PasswordChangeForm(passwordChangeForm),
        passwordMsg=passwordMsg,
        inviteForm=inviteForm if inviteForm else InviteForm(),
        invitedDoneMsg=invitedDoneMsg)
Exemplo n.º 9
0
def password_change():
    """
    :return: main page, password for current user changed
    """
    user = request.args.get("user")
    form = PasswordChangeForm()

    if form.validate_on_submit():
        worker = User.query.filter_by(username=user).first()
        if worker.check_password(form.old_password.data):
            worker.set_password(form.new_password1.data)
            db.session.commit()
            flash("Hasło zmienione")
            return redirect(url_for("main.index"))

        flash("Nieprawidłowe obecne hasło")
        return redirect(url_for("auth.password_change", user=current_user))

    return render_template("auth/password_change.html",
                           title="Grafiki - zmiana hasła",
                           user=user,
                           form=form)
Exemplo n.º 10
0
def user(username):
    """Generate profile page."""
    page = request.args.get('page', 1, int)
    user = User.query.filter_by(username=username).first()
    reviews = Review.search(user_id=user.id)
    summary = user.summary()
    pag_args = {"username": username}
    pagination = Pagination(reviews, page, current_app.config.get('PER_PAGE'))
    pag_urls = pagination.get_urls('main.user', pag_args)
    reviews = pagination.paginatedData

    if user == current_user:
        form = UserUpdateForm(obj=user).populate_choices()
        form.address.state.data = user.address.state.id
        pform = PasswordChangeForm()
        modal_title = "Edit User Information"
        modal_title_2 = "Change Password"
        return render_template("user.html",
                               title="User Profile",
                               user=user,
                               reviews=reviews,
                               form=form,
                               summary=summary,
                               modal_title=modal_title,
                               pform=pform,
                               modal_title_2=modal_title_2,
                               pag_urls=pag_urls)

    message = UserMessageForm(Message_User=user.full_name,
                              recipient_id=user.id)
    return render_template("user.html",
                           title="User Profile",
                           user=user,
                           reviews=reviews,
                           pag_urls=pag_urls,
                           summary=summary,
                           message=message)
def test_invalid(test_data):
    form = PasswordChangeForm(DummyPostData(test_data))
    assert form.validate() is False
    assert "current_password" in form.errors
    assert "new_password" in form.errors
    assert "confirm_new_password" in form.errors
Exemplo n.º 12
0
    async def get(self, request):
        template = "auth/password_change.html"

        form = PasswordChangeForm()
        context = {"request": request, "form": form}
        return templates.TemplateResponse(template, context)