mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-13 01:20:41 +00:00
Use a better redirect mechanic in the proxied settings route
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
from flask import abort, flash, redirect, render_template, url_for
|
||||
from flask import abort, flash, g, redirect, render_template, url_for
|
||||
from flask_breadcrumbs import register_breadcrumb
|
||||
from flask_login import current_user, login_required
|
||||
from app import db
|
||||
@ -17,12 +17,16 @@ from .forms import (
|
||||
@bp.route('/<hashid:user_id>/settings', methods=['GET', 'POST'])
|
||||
@register_breadcrumb(bp, '.entity.settings', '<i class="material-icons left">settings</i>Settings', endpoint_arguments_constructor=user_eac)
|
||||
@login_required
|
||||
def settings(user_id, redirect_location_on_post=None):
|
||||
def settings(user_id):
|
||||
user = User.query.get_or_404(user_id)
|
||||
if not (user == current_user or current_user.is_administrator()):
|
||||
abort(403)
|
||||
if redirect_location_on_post is None:
|
||||
redirect_location_on_post = url_for('.settings', user_id=user_id)
|
||||
|
||||
redirect_location_on_post = g.pop(
|
||||
'redirect_location_on_post',
|
||||
url_for('.settings', user_id=user_id)
|
||||
)
|
||||
|
||||
update_account_information_form = UpdateAccountInformationForm(user)
|
||||
update_profile_information_form = UpdateProfileInformationForm(user)
|
||||
update_avatar_form = UpdateAvatarForm()
|
||||
|
Reference in New Issue
Block a user