feat: completar fases 3 y 4 del roadmap mvp (gradebook, drag-and-drop, impersonacion) y actualizar README
This commit is contained in:
@@ -40,6 +40,20 @@ def jwt_required(f):
|
||||
g.jwt_user = user
|
||||
g.jwt_payload = payload
|
||||
g.jwt_token = token
|
||||
g.real_admin_user = user
|
||||
g.is_impersonating = False
|
||||
|
||||
impersonate_header = request.headers.get('X-Impersonate-User')
|
||||
if impersonate_header and user.is_admin():
|
||||
target_user = None
|
||||
if impersonate_header.strip().isdigit():
|
||||
target_user = db.session.get(User, int(impersonate_header.strip()))
|
||||
else:
|
||||
target_user = User.query.filter_by(email=impersonate_header.strip()).first()
|
||||
|
||||
if target_user and target_user.is_active:
|
||||
g.jwt_user = target_user
|
||||
g.is_impersonating = True
|
||||
|
||||
except jwt.ExpiredSignatureError:
|
||||
return jsonify({
|
||||
|
||||
Reference in New Issue
Block a user