mirror of
https://github.com/Xevion/runnerspace.git
synced 2025-12-08 16:08:24 -06:00
Add administrative bypass to user properties
This commit is contained in:
2
forms.py
2
forms.py
@@ -13,7 +13,7 @@ def edit_profile_post(username):
|
|||||||
user = db.session.query(User).filter_by(username=username).first_or_404()
|
user = db.session.query(User).filter_by(username=username).first_or_404()
|
||||||
|
|
||||||
# Ignore non
|
# Ignore non
|
||||||
if current_user.id != user.id:
|
if not user.is_admin and current_user.id != user.id:
|
||||||
return redirect(url_for('main.user', username=username))
|
return redirect(url_for('main.user', username=username))
|
||||||
|
|
||||||
user.about_me = request.form.get('about-me', user.about_me)
|
user.about_me = request.form.get('about-me', user.about_me)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ class User(UserMixin, db.Model):
|
|||||||
time_registered = db.Column(db.DateTime, nullable=False, server_default=func.now())
|
time_registered = db.Column(db.DateTime, nullable=False, server_default=func.now())
|
||||||
last_seen = db.Column(db.DateTime, nullable=False, server_default=func.now())
|
last_seen = db.Column(db.DateTime, nullable=False, server_default=func.now())
|
||||||
last_ip = db.Column(db.String(64), nullable=True)
|
last_ip = db.Column(db.String(64), nullable=True)
|
||||||
|
is_admin = db.Column(db.Boolean, default=False)
|
||||||
posts = db.relationship("Post")
|
posts = db.relationship("Post")
|
||||||
comments = db.relationship("Comment")
|
comments = db.relationship("Comment")
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ def user(username: str):
|
|||||||
@login_required
|
@login_required
|
||||||
def edit_user(username: str):
|
def edit_user(username: str):
|
||||||
user = User.query.filter_by(username=username).first_or_404()
|
user = User.query.filter_by(username=username).first_or_404()
|
||||||
if current_user.id == user.id:
|
if user.is_admin or current_user.id == user.id:
|
||||||
return render_template('pages/user_edit.html', user=user)
|
return render_template('pages/user_edit.html', user=user)
|
||||||
return redirect(url_for('main.user', username=username))
|
return redirect(url_for('main.user', username=username))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user