From cc6525a6ae975c36e19ed0f29442b07983311480 Mon Sep 17 00:00:00 2001 From: lgdtimtou Date: Wed, 22 May 2024 14:04:36 +0200 Subject: [PATCH] Zorgen dat student permissie heeft om restricties te zien --- api/views/restrictie.py | 50 +++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/api/views/restrictie.py b/api/views/restrictie.py index be29d14c..09e010f5 100644 --- a/api/views/restrictie.py +++ b/api/views/restrictie.py @@ -22,36 +22,38 @@ def restrictie_list(request, format=None): Returns: Response: Een http-respons met de opgevraagde of gemaakte restricties. """ + + if request.method == "GET": + restricties = Restrictie.objects.all() + + if "project" in request.GET: + try: + project = eval(request.GET.get("project")) + restricties = restricties.filter(project=project) + except NameError: + return Response(status=status.HTTP_400_BAD_REQUEST) + + if "moet_slagen" in request.GET and request.GET.get( + "moet_slagen" + ).lower() in [ + "true", + "false", + ]: + restricties = restricties.filter( + moet_slagen=(request.GET.get("moet_slagen").lower() == "true") + ) + + serializer = RestrictieSerializer(restricties, many=True) + return Response(serializer.data) + if has_permissions(request.user): - if request.method == "GET": - restricties = Restrictie.objects.all() - - if "project" in request.GET: - try: - project = eval(request.GET.get("project")) - restricties = restricties.filter(project=project) - except NameError: - return Response(status=status.HTTP_400_BAD_REQUEST) - - if "moet_slagen" in request.GET and request.GET.get( - "moet_slagen" - ).lower() in [ - "true", - "false", - ]: - restricties = restricties.filter( - moet_slagen=(request.GET.get("moet_slagen").lower() == "true") - ) - - serializer = RestrictieSerializer(restricties, many=True) - return Response(serializer.data) - - elif request.method == "POST": + if request.method == "POST": serializer = RestrictieSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + return Response(status=status.HTTP_403_FORBIDDEN)