2024-07-25 00:57:48 +00:00
|
|
|
|
2024-07-24 00:38:32 +00:00
|
|
|
from rest_framework import permissions
|
2024-07-25 00:57:48 +00:00
|
|
|
from .models import Team,Member
|
2024-07-24 00:38:32 +00:00
|
|
|
|
|
|
|
|
class IsMemberOrTeamOwner(permissions.BasePermission):
|
|
|
|
|
def has_object_permission(self, request, view, obj):
|
2024-07-25 00:57:48 +00:00
|
|
|
# Check if user is a member of the team or the team owner
|
|
|
|
|
return request.user in obj.team.members.all() or request.user == obj.team.owner
|
|
|
|
|
|
|
|
|
|
class IsTeamOwner(permissions.BasePermission):
|
|
|
|
|
def has_object_permission(self, request, view, obj):
|
|
|
|
|
if isinstance(obj, Team):
|
|
|
|
|
return obj.owner == request.user
|
|
|
|
|
elif isinstance(obj, Member):
|
|
|
|
|
return obj.team.owner == request.user
|
|
|
|
|
return False
|