mirror of https://github.com/jumpserver/jumpserver
19 lines
531 B
Python
19 lines
531 B
Python
|
|
from rest_framework import permissions
|
|
|
|
|
|
class IsAssignee(permissions.BasePermission):
|
|
def has_object_permission(self, request, view, obj):
|
|
return obj.has_assignee(request.user)
|
|
|
|
|
|
class IsAssigneeOrApplicant(IsAssignee):
|
|
|
|
def has_object_permission(self, request, view, obj):
|
|
return super().has_object_permission(request, view, obj) or obj.applicant == request.user
|
|
|
|
|
|
class NotClosed(permissions.BasePermission):
|
|
def has_object_permission(self, request, view, obj):
|
|
return not obj.status_closed
|