first base of project-changed apps: Herd-livestock-tag-log-elasticsearch-
This commit is contained in:
@@ -1,25 +1,145 @@
|
||||
from rest_framework import permissions
|
||||
from apps.core import permissions
|
||||
|
||||
|
||||
# example Code
|
||||
class AuthorAllStaffAllButEditOrReadOnly(permissions.BasePermission):
|
||||
edit_methods = ("PUT", "PATCH")
|
||||
class LiveStockCreatePermission(permissions.BasePermission):
|
||||
""" permission to create livestock """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
if request.user.is_authenticated:
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'live_stock_create' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
def has_object_permission(self, request, view, obj):
|
||||
if request.user.is_superuser:
|
||||
|
||||
class LiveStockUpdatePermission(permissions.BasePermission):
|
||||
""" permission to update livestock """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'live_stock_update' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
if request.method in permissions.SAFE_METHODS:
|
||||
|
||||
class LiveStockTrashPermission(permissions.BasePermission):
|
||||
""" permission to trash livestock """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'live_stock_trash' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
if obj.author == request.user:
|
||||
|
||||
class LiveStockDeletePermission(permissions.BasePermission):
|
||||
""" permission to Delete livestock """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'live_stock_delete' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
if request.user.is_staff and request.method not in self.edit_methods:
|
||||
|
||||
class StockTypeCreatePermission(permissions.BasePermission):
|
||||
""" permission to create livestock type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_type_create' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
class StockTypeUpdatePermission(permissions.BasePermission):
|
||||
""" permission to update livestock type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_type_update' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockTypeTrashPermission(permissions.BasePermission):
|
||||
""" permission to trash livestock type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_type_trash' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockTypeDeletePermission(permissions.BasePermission):
|
||||
""" permission to delete livestock type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_type_delete' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockUseTypeCreatePermission(permissions.BasePermission):
|
||||
""" permission to create livestock use type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_use_type_create' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockUseTypeUpdatePermission(permissions.BasePermission):
|
||||
""" permission to update livestock use type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_use_type_update' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockUseTypeTrashPermission(permissions.BasePermission):
|
||||
""" permission to trash livestock use type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_use_type_trash' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockUseTypeDeletePermission(permissions.BasePermission):
|
||||
""" permission to delete livestock use type """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_use_type_delete' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockSpeciesCreatePermission(permissions.BasePermission):
|
||||
""" permission to create livestock species """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_species_create' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockSpeciesUpdatePermission(permissions.BasePermission):
|
||||
""" permission to update livestock species """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_species_update' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockSpeciesTrashPermission(permissions.BasePermission):
|
||||
""" permission to trash livestock species """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_species_trash' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
|
||||
class StockSpeciesDeletePermission(permissions.BasePermission):
|
||||
""" permission to delete livestock species """
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user_level_info = self.get_user_permissions(request, view)
|
||||
if 'stock_species_delete' in user_level_info['permissions']:
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user