Skip to content
Snippets Groups Projects
permissions.py 665 B
Newer Older
  • Learn to ignore specific revisions
  • from rest_framework.permissions import BasePermission
    
    
    class HasUserPermission(BasePermission):
        """
        Ensure the request user has the proper permissions.
    
        Usage:
    
        class MyView(APIView):
            permission_classes = [HasUserPermission]
            required_permissions = ['federation']
        """
        def has_permission(self, request, view):
            if not hasattr(request, 'user') or not request.user:
                return False
            if request.user.is_anonymous:
                return False
    
            operator = getattr(view, 'permission_operator', 'and')
            return request.user.has_permissions(
                *view.required_permissions, operator=operator)