Skip to content

Commit

Permalink
feat: simplify permissions
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeRomaa committed Mar 30, 2024
1 parent 616d2f5 commit c27f783
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 27 deletions.
6 changes: 3 additions & 3 deletions apps/feedback/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
from rest_framework.views import APIView

from apps.mailer.models import Email
from zhu_core.permissions import IsGet, IsSeniorStaff
from zhu_core.permissions import IsAdmin, IsGet

from .models import Feedback
from .serializers import BaseFeedbackSerializer, FeedbackSerializer


class FeedbackListView(APIView):
permission_classes = [(IsGet & IsSeniorStaff) | (~IsGet & IsAuthenticated)]
permission_classes = [(IsGet & IsAdmin) | (~IsGet & IsAuthenticated)]

def get(self, request):
"""
Expand Down Expand Up @@ -43,7 +43,7 @@ def post(self, request):


class FeedbackInstanceView(APIView):
permission_classes = [IsSeniorStaff]
permission_classes = [IsAdmin]

def put(self, request, feedback_id):
"""
Expand Down
14 changes: 0 additions & 14 deletions apps/users/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,22 +138,10 @@ def is_staff(self):
or self.is_superuser
)

@property
def is_senior_staff(self):
return self.roles.filter(short__in=["ATM", "DATM", "TA", "FE"]).exists() or self.is_superuser

@property
def is_admin(self):
return self.roles.filter(short__in=["ATM", "DATM"]).exists() or self.is_superuser

@property
def training_staff_role(self):
return self.roles.filter(short__in=["INS", "MTR"]).first()

@property
def staff_role(self):
return self.roles.filter(short__in=["ATM", "DATM", "TA", "ATA", "FE", "AFE", "EC", "AEC", "WM", "AWM"]).first()

@property
def visiting_eligibility(self):
"""Check if authenticated user is eligible to apply as a visiting controller."""
Expand All @@ -165,8 +153,6 @@ def visiting_eligibility(self):
params={"apikey": os.getenv("VATUSA_API_TOKEN")},
).json()

print(vatusa_checklist)

membership_check = not self.is_member
pending_application_check = not VisitingApplication.objects.filter(user=self).exists()

Expand Down
1 change: 0 additions & 1 deletion apps/vatsim/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,5 @@ def get_permissions(self, user):
"is_member": user.is_member,
"is_training_staff": user.is_training_staff,
"is_staff": user.is_staff,
"is_senior_staff": user.is_senior_staff,
"is_admin": user.is_admin,
}
9 changes: 0 additions & 9 deletions zhu_core/permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,6 @@ def has_permission(self, request, view):
return request.user.is_authenticated and request.user.is_staff or request.user.is_superuser


class IsSeniorStaff(BasePermission):
"""
Allows access to the ATM, DATM, TA, and FE.
"""

def has_permission(self, request, view):
return request.user.is_authenticated and request.user.is_senior_staff or request.user.is_superuser


class IsAdmin(BasePermission):
"""
Allows access to the ATM and DATM.
Expand Down

0 comments on commit c27f783

Please sign in to comment.