mirror of
https://github.com/simple-login/app.git
synced 2024-09-22 07:56:01 +08:00
Add Delete Account in setting
This commit is contained in:
parent
a22a635508
commit
ec4d034593
|
@ -57,7 +57,35 @@
|
||||||
<button class="btn btn-outline-primary">Change password</button>
|
<button class="btn btn-outline-primary">Change password</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<h3 class="mb-0">Delete Account</h3>
|
||||||
|
<div class="small-text mb-3">Please note that this operation is irreversible.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<form method="post">
|
||||||
|
<input type="hidden" name="form-name" value="delete-account">
|
||||||
|
<span class="delete-account btn btn-outline-danger">Delete account</span>
|
||||||
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block script %}
|
||||||
|
<script>
|
||||||
|
$(".delete-account").on("click", function (e) {
|
||||||
|
notie.confirm({
|
||||||
|
text: "All your data including your aliases will be deleted, " +
|
||||||
|
"other people might not be able to reach you after, " +
|
||||||
|
" please confirm.",
|
||||||
|
cancelCallback: () => {
|
||||||
|
// nothing to do
|
||||||
|
},
|
||||||
|
submitCallback: () => {
|
||||||
|
$(this).closest("form").submit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ from io import BytesIO
|
||||||
|
|
||||||
import arrow
|
import arrow
|
||||||
from flask import render_template, request, redirect, url_for, flash
|
from flask import render_template, request, redirect, url_for, flash
|
||||||
from flask_login import login_required, current_user
|
from flask_login import login_required, current_user, logout_user
|
||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
from flask_wtf.file import FileField
|
from flask_wtf.file import FileField
|
||||||
from wtforms import StringField, validators
|
from wtforms import StringField, validators
|
||||||
|
@ -111,6 +111,13 @@ def setting():
|
||||||
elif request.form.get("form-name") == "change-password":
|
elif request.form.get("form-name") == "change-password":
|
||||||
send_reset_password_email(current_user)
|
send_reset_password_email(current_user)
|
||||||
|
|
||||||
|
elif request.form.get("form-name") == "delete-account":
|
||||||
|
User.delete(current_user.id)
|
||||||
|
db.session.commit()
|
||||||
|
flash("Your account has been deleted", "success")
|
||||||
|
logout_user()
|
||||||
|
return redirect(url_for("auth.register"))
|
||||||
|
|
||||||
return redirect(url_for("dashboard.setting"))
|
return redirect(url_for("dashboard.setting"))
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
|
|
Loading…
Reference in a new issue