16 lines
No EOL
531 B
Python
16 lines
No EOL
531 B
Python
from rest_framework.permissions import BasePermission, SAFE_METHODS
|
|
|
|
class ReadOnlyOrAuthenticated(BasePermission):
|
|
def has_permission(self, request, view):
|
|
return (
|
|
request.method in SAFE_METHODS or
|
|
request.user and request.user.is_authenticated
|
|
)
|
|
|
|
|
|
class IsOwner(BasePermission):
|
|
def has_object_permission(self, request, view, obj):
|
|
return obj.user == request.user
|
|
|
|
def has_permission(self, request, view):
|
|
return request.user and request.user.is_authenticated |