Skip to content
Snippets Groups Projects
permissions.py 676 B
Newer Older
  • Learn to ignore specific revisions
  • Eliot Berriot's avatar
    Eliot Berriot committed
    from rest_framework.permissions import BasePermission, DjangoModelPermissions
    
    
    
    class ConditionalAuthentication(BasePermission):
    
        def has_permission(self, request, view):
            if settings.API_AUTHENTICATION_REQUIRED:
    
                return request.user and request.user.is_authenticated
    
    Eliot Berriot's avatar
    Eliot Berriot committed
    
    
    class HasModelPermission(DjangoModelPermissions):
        """
        Same as DjangoModelPermissions, but we pin the model:
    
            class MyModelPermission(HasModelPermission):
                model = User
        """
        def get_required_permissions(self, method, model_cls):
            return super().get_required_permissions(method, self.model)