Newer
Older
from rest_framework.permissions import BasePermission
from rest_framework.permissions import SAFE_METHODS
class IsStaffOrReadOnly(BasePermission):
"""
The request is authenticated as a staff, or is a read-only request.
"""
def has_permission(self, request, view):
return request.method in SAFE_METHODS or request.user and request.user.is_staff
class IsAuthenticatedOrReadOnly(BasePermission):
"""
The request is authenticated as a user, or is a read-only request.
"""
def has_permission(self, request, view):
return request.method in SAFE_METHODS or request.user and request.user.is_authenticated
class IsStaffOrReadOnlyForAuthenticated(BasePermission):
"""
The request is authenticated as a staff, or is a read-only request for authenticated.
"""
return request.user.is_staff or request.method in SAFE_METHODS and request.user.is_authenticated