Files
ferglie/shorts/permissions.py
Fergal Moran 4333677844 Initial commit
2017-05-03 21:31:11 +01:00

19 lines
673 B
Python
Executable File

from rest_framework import permissions
class SafeMethodsOnlyPermission(permissions.BasePermission):
def has_permission(self, request, view):
return self.has_object_permission(request, view)
def has_object_permission(self, request, view, obj=None):
return request.method in permissions.SAFE_METHODS
class UrlAuthorCanEditPermission(SafeMethodsOnlyPermission):
def has_object_permission(self, request, view, obj=None):
if obj is None:
can_edit = True
else:
can_edit = request.user == obj.user
return can_edit or super(UrlAuthorCanEditPermission, self).has_object_permission(request, view, obj)