prepare allocate tags to organizations api
This commit is contained in:
@@ -1,25 +1,37 @@
|
||||
from rest_framework import permissions
|
||||
from apps.core import permissions
|
||||
|
||||
|
||||
# example Code
|
||||
class AuthorAllStaffAllButEditOrReadOnly(permissions.BasePermission):
|
||||
edit_methods = ("PUT", "PATCH")
|
||||
class HerdCreatePermission(permissions.BasePermission):
|
||||
""" permission to create herd """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
if request.user.is_authenticated:
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'herd_create' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
def has_object_permission(self, request, view, obj):
|
||||
if request.user.is_superuser:
|
||||
|
||||
class HerdUpdatePermission(permissions.BasePermission):
|
||||
""" permission to update herd """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'herd_update' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
if request.method in permissions.SAFE_METHODS:
|
||||
|
||||
class HerdTrashPermission(permissions.BasePermission):
|
||||
""" permission to trash herd """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'herd_trash' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
if obj.author == request.user:
|
||||
return True
|
||||
|
||||
if request.user.is_staff and request.method not in self.edit_methods:
|
||||
return True
|
||||
class HerdDeletePermission(permissions.BasePermission):
|
||||
""" permission to delete herd """
|
||||
|
||||
return False
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'herd_delete' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user