from rest_framework import permissions class IsSuperAdmin(permissions.BasePermission): def has_permission(self, request, view): return ( request.user.is_authenticated and hasattr(request.user, 'profile') and request.user.profile.role == 'superadmin' ) class IsAdminOrSuperAdmin(permissions.BasePermission): def has_permission(self, request, view): if not request.user.is_authenticated: return False if not hasattr(request.user, 'profile'): return False return request.user.profile.role in ['admin', 'superadmin'] class HasUserManagementAccess(permissions.BasePermission): def has_permission(self, request, view): if not request.user.is_authenticated: return False if not hasattr(request.user, 'profile'): return False return request.user.profile.role == 'superadmin'