diff --git a/api/base_templates/file_type.sh b/api/base_templates/file_type.sh new file mode 100755 index 00000000..f303f862 --- /dev/null +++ b/api/base_templates/file_type.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +#@param +# Vul hieronder het type dat het bestand moet hebben +file_type="pdf" + + +file_exists=false +for file in *.$file_type; do + if [ -e "$file" ]; then + file_exists=true + break + fi +done + +if [ "$file_exists" = true ]; then + echo "$file_type: OK" +else + echo "$file_type: FAIL" +fi diff --git a/api/serializers/gebruiker.py b/api/serializers/gebruiker.py index 00b024b3..521fe0a9 100644 --- a/api/serializers/gebruiker.py +++ b/api/serializers/gebruiker.py @@ -61,10 +61,9 @@ def update(self, instance, validated_data): Returns: Gebruiker: De bijgewerkte gebruiker. """ - is_lesgever = validated_data.pop("is_lesgever", instance.is_lesgever) - if instance.is_lesgever != is_lesgever: - validate_lesgever_change(instance) - instance.is_lesgever = is_lesgever + + validated_data.pop("user", None) + validated_data.pop("is_lesgever", None) gepinde_vakken = validated_data.pop( "gepinde_vakken", instance.gepinde_vakken.all() @@ -76,28 +75,6 @@ def update(self, instance, validated_data): return instance -def validate_lesgever_change(instance): - """ - Valideert of de lesgever wijziging geldig is. - - Args: - instance (Gebruiker): De gebruiker waarvoor de wijziging wordt gecontroleerd. - - Raises: - serializers.ValidationError: Als de lesgever eerst verwijderd moet worden uit zijn/haar huidige vakken. - """ - if instance.is_lesgever and Vak.objects.filter(lesgevers=instance): - raise serializers.ValidationError( - f"De lesgever {instance} moet eerst verwijderd worden \ - als lesgever in zijn huidige vakken" - ) - elif not instance.is_lesgever and Vak.objects.filter(studenten=instance): - raise serializers.ValidationError( - f"De student {instance} moet eerst verwijderd worden \ - als student in zijn huidige vakken" - ) - - def validate_gepinde_vakken(instance, gepinde_vakken): """ Valideert of de gepinde vakken geldig zijn voor de gebruiker. diff --git a/api/views/gebruiker.py b/api/views/gebruiker.py index 4a9eb682..66a31680 100644 --- a/api/views/gebruiker.py +++ b/api/views/gebruiker.py @@ -25,10 +25,7 @@ def gebruiker_list(request): Response: Een lijst van gebruikers. """ - if has_permissions(request.user): - gebruikers = Gebruiker.objects.all() - else: - gebruikers = Gebruiker.objects.filter(user=request.user.id) + gebruikers = Gebruiker.objects.all() if "is_lesgever" in request.GET and request.GET.get("is_lesgever").lower() in [ "true", @@ -64,16 +61,10 @@ def gebruiker_detail(request, id): return Response(status=status.HTTP_404_NOT_FOUND) if request.method == "GET": - if ( - has_permissions(request.user) - or int(id) == request.user.id - or gebruiker.is_lesgever - ): - serializer = GebruikerSerializer(gebruiker) - return Response(serializer.data) - return Response(status=status.HTTP_403_FORBIDDEN) + serializer = GebruikerSerializer(gebruiker) + return Response(serializer.data) elif request.method in ["PUT", "PATCH"]: - if request.user.is_superuser: + if has_permissions(request.user) or request.user.id == id: if request.method == "PUT": serializer = GebruikerSerializer(gebruiker, data=request.data) else: diff --git a/api/views/restrictie.py b/api/views/restrictie.py index 09e010f5..eb7484e7 100644 --- a/api/views/restrictie.py +++ b/api/views/restrictie.py @@ -22,7 +22,7 @@ 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() @@ -33,9 +33,7 @@ def restrictie_list(request, format=None): except NameError: return Response(status=status.HTTP_400_BAD_REQUEST) - if "moet_slagen" in request.GET and request.GET.get( - "moet_slagen" - ).lower() in [ + if "moet_slagen" in request.GET and request.GET.get("moet_slagen").lower() in [ "true", "false", ]: @@ -45,7 +43,7 @@ def restrictie_list(request, format=None): serializer = RestrictieSerializer(restricties, many=True) return Response(serializer.data) - + if has_permissions(request.user): if request.method == "POST": serializer = RestrictieSerializer(data=request.data)