permissions.py 950 B

12345678910111213141516171819
  1. from rest_framework import permissions
  2. class UserCanReadTicketListPermission(permissions.BasePermission):
  3. def has_object_permission(serf, request, view, obj):
  4. return request.user.is_superuser or obj.group in request.user.groups.all()
  5. class UserTicketAccessPermission(permissions.BasePermission):
  6. def has_object_permission(self, request, view, obj):
  7. if request.method in permissions.SAFE_METHODS:
  8. return request.user.is_superuser or obj.ticket_list.group in request.user.groups.all() or obj.assigned_to == request.user
  9. return request.user.is_superuser or request.user.is_staff or obj.created_by == request.user
  10. class UserTicketStatusAccessPermission(permissions.BasePermission):
  11. def has_object_permission(self, request, view, obj):
  12. return request.user.is_superuser or obj.ticket_list.group in request.user.groups.all() or obj.assigned_to == request.user or obj.created_by == request.user