1234567891011121314151617181920212223 |
- from django.shortcuts import get_object_or_404
- from rest_framework import permissions
- from tickets.models import Ticket, TicketList
- class UserCanReadTicketListPermission(permissions.BasePermission):
- def has_object_permission(serf, request, view, obj):
- return request.user.is_superuser or obj.group in request.user.groups.all()
- class UserTicketAccessPermission(permissions.BasePermission):
- def has_object_permission(self, request, view, obj):
- if request.method in permissions.SAFE_METHODS:
- return request.user.is_superuser or obj.ticket_list.group in request.user.groups.all() or obj.assigned_to == request.user
- return request.user.is_superuser or request.user.is_staff or obj.created_by == request.user
- class UserTicketStatusAccessPermission(permissions.BasePermission):
- def has_object_permission(self, request, view, obj):
- 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
|