def get(self, request, id=False):
        if (id):
            try:
                badge = Badge.objects.get(id=id)
            except Badge.DoesNotExist:
                return Response(validators.error_object('Not found.'),
                                status=status.HTTP_404_NOT_FOUND)

            serializer = other_serializer.BadgeSerializer(badge, many=False)
        else:
            badges = Badge.objects.all()
            serializer = other_serializer.BadgeSerializer(badges, many=True)

        return Response(serializer.data, status=status.HTTP_200_OK)
    def post(self, request):
        permission_classes = (IsAdminUser, )

        serializer = other_serializer.BadgeSerializer(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)
    def get(self, request, employee_id):
        try:
            employee = Employee.objects.get(id=employee_id)
        except Employee.DoesNotExist:
            return Response(validators.error_object('Not found.'),
                            status=status.HTTP_404_NOT_FOUND)

        serializer = other_serializer.BadgeSerializer(employee.badges,
                                                      many=True)
        return Response(serializer.data, status=status.HTTP_200_OK)
Beispiel #4
0
class ShiftGetSerializer(serializers.ModelSerializer):
    venue = VenueGetSmallSerializer(read_only=True)
    position = PositionGetSmallSerializer(read_only=True)
    candidates = employee_serializer.EmployeeGetSerializer(many=True, read_only=True)
    employees = EmployeeGetSerializer(many=True, read_only=True)
    required_badges = other_serializer.BadgeSerializer(many=True, read_only=True)
    allowed_from_list = favlist_serializer.FavoriteListGetSerializer(many=True, read_only=True)

    class Meta:
        model = Shift
        exclude = ()
    def put(self, request, id):
        permission_classes = (IsAdminUser, )

        try:
            badge = Badge.objects.get(id=id)
        except Badge.DoesNotExist:
            return Response(validators.error_object('Not found.'),
                            status=status.HTTP_404_NOT_FOUND)

        serializer = other_serializer.BadgeSerializer(badge, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_200_OK)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)