Add account page to settings

This commit is contained in:
rubenwardy
2020-12-09 19:50:11 +00:00
parent 778a602aa6
commit ac7714b997
4 changed files with 144 additions and 134 deletions

View File

@@ -17,6 +17,11 @@ def get_setting_tabs(user):
"title": "Edit Profile",
"url": url_for("users.profile_edit", username=user.username)
},
{
"id": "account",
"title": "Account and Security",
"url": url_for("users.account", username=user.username)
},
{
"id": "notifications",
"title": "Email and Notifications",
@@ -188,6 +193,20 @@ def email_notifications(username=None):
tabs=get_setting_tabs(user), current_tab="notifications")
@bp.route("/users/<username>/settings/account/")
@login_required
def account(username):
user : User = User.query.filter_by(username=username).first()
if not user:
abort(404)
if not user.can_see_edit_profile(current_user):
flash("Permission denied", "danger")
return redirect(url_for("users.profile", username=username))
return render_template("users/account.html", user=user, form=form, tabs=get_setting_tabs(user), current_tab="account")
@bp.route("/users/<username>/delete/", methods=["GET", "POST"])
@rank_required(UserRank.ADMIN)
def delete(username):