15 lines
586 B
Python
15 lines
586 B
Python
from django.shortcuts import redirect
|
|
from django.urls import reverse
|
|
from django.http import HttpRequest
|
|
|
|
class RedirectNonSuperuserFromAdminMiddleware:
|
|
def __init__(self, get_response):
|
|
self.get_response = get_response
|
|
|
|
def __call__(self, request: HttpRequest):
|
|
# Se l'utente è loggato, non è superuser e prova ad andare in /admin/...
|
|
if hasattr(request, "user") and hasattr(request.user, 'student'):
|
|
if "/admin/" in request.path:
|
|
return redirect("/user/") # redirect automatico
|
|
return self.get_response(request)
|