def special_access_required(func):
@login_required
@wraps(func)
def decorated_function(*args, **kwargs):
if current_user.type != UserType.ADMIN:
if 'club' in kwargs:
club = kwargs['club']
elif 'activity' in kwargs:
club = kwargs['activity'].club
else:
abort(403) # Admin-only page
if current_user.type == UserType.TEACHER:
if current_user != club.teacher:
abort(403)
else:
if current_user != club.leader:
abort(403)
return func(*args, **kwargs)
return decorated_function
评论列表
文章目录