mirror of
https://gitlab.com/SIGBUS/nyaa.git
synced 2024-12-22 14:19:59 +00:00
improved profile page user flow. clears data on success and shows current email. also, flashes success message if successful
This commit is contained in:
parent
c61bba8f30
commit
8ffcbca4d5
|
@ -402,7 +402,7 @@ def profile():
|
||||||
form = forms.ProfileForm(flask.request.form)
|
form = forms.ProfileForm(flask.request.form)
|
||||||
if flask.request.method == 'POST' and form.validate():
|
if flask.request.method == 'POST' and form.validate():
|
||||||
user = flask.g.user
|
user = flask.g.user
|
||||||
new_email = form.email.data
|
new_email = form.email.data.strip()
|
||||||
new_password = form.new_password.data
|
new_password = form.new_password.data
|
||||||
|
|
||||||
if new_email:
|
if new_email:
|
||||||
|
@ -412,20 +412,26 @@ def profile():
|
||||||
'<strong>Email change failed!</strong> Incorrect password.'), 'danger')
|
'<strong>Email change failed!</strong> Incorrect password.'), 'danger')
|
||||||
return flask.redirect('/profile')
|
return flask.redirect('/profile')
|
||||||
user.email = form.email.data
|
user.email = form.email.data
|
||||||
|
flask.flash(flask.Markup(
|
||||||
|
'<strong>Email successfully changed!</strong>'), 'info')
|
||||||
if new_password:
|
if new_password:
|
||||||
if form.current_password.data != user.password_hash:
|
if form.current_password.data != user.password_hash:
|
||||||
flask.flash(flask.Markup(
|
flask.flash(flask.Markup(
|
||||||
'<strong>Password change failed!</strong> Incorrect password.'), 'danger')
|
'<strong>Password change failed!</strong> Incorrect password.'), 'danger')
|
||||||
return flask.redirect('/profile')
|
return flask.redirect('/profile')
|
||||||
user.password_hash = form.new_password.data
|
user.password_hash = form.new_password.data
|
||||||
|
flask.flash(flask.Markup(
|
||||||
|
'<strong>Password successfully changed!</strong>'), 'info')
|
||||||
|
|
||||||
db.session.add(user)
|
db.session.add(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
flask.g.user = user
|
flask.g.user = user
|
||||||
|
return flask.redirect('/profile')
|
||||||
|
|
||||||
return flask.render_template('profile.html', form=form)
|
current_email = models.User.by_id(flask.g.user.id).email
|
||||||
|
|
||||||
|
return flask.render_template('profile.html', form=form, email=current_email)
|
||||||
|
|
||||||
|
|
||||||
@app.route('/user/activate/<payload>')
|
@app.route('/user/activate/<payload>')
|
||||||
|
|
|
@ -43,6 +43,12 @@
|
||||||
<div class="tab-pane fade" role="tabpanel" id="email-change" aria-labelledby="email-change-tab">
|
<div class="tab-pane fade" role="tabpanel" id="email-change" aria-labelledby="email-change-tab">
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
{{ form.csrf_token }}
|
{{ form.csrf_token }}
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group col-md-4">
|
||||||
|
<label class="control-label" for="current_email">Current Email</label>
|
||||||
|
<div>{{email}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-md-4">
|
<div class="form-group col-md-4">
|
||||||
{{ render_field(form.email, class_='form-control', placeholder='New email address') }}
|
{{ render_field(form.email, class_='form-control', placeholder='New email address') }}
|
||||||
|
|
Loading…
Reference in a new issue