Example #1
0
    def post(self, request, pk):
        try:
            r = Request.objects.get(pk=pk)
        except Request.DoesNotExist:
            return Response({'detail': "Request with id: {} does not exist".format(pk)}, status=400)
        comment_text = request.data.decode('utf-8')
        serializer = RequestSerializer(
            r, data={'comment': comment_text}, partial=True)

        if not serializer.is_valid():
            return Response(serializer.errors, status=400)
        serializer.save()
        return Response(serializer.data)
Example #2
0
File: views.py Project: leohahn/TIM
def request_detail(request, reqid, format=None):
    try:
	    req = Request.objects.get(id=reqid)
    except Request.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)
    if request.method == 'GET':
        serializer = RequestSerializer(req)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = RequestSerializer(request, data=request.data)
        if serializer.is_valid():
            serializer.save()
            find_match_for_request(reqid)
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        req.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
Example #3
0
File: views.py Project: leohahn/TIM
def request_list(request, format=None):
    if request.method == 'GET':
        exp.check_if_expired()
        requests = Request.objects.all().filter(active = True)
        serializer = RequestSerializer(requests, many=True)
        return Response(serializer.data)
    elif request.method == 'POST':
        try:
            Good.objects.get(goodName = request.data['goodName'])
        except Good.DoesNotExist:
            g = Good(goodName = request.data['goodName'], unit = "", description = "")
            g.save()
        serializer = RequestSerializer(data=request.data)
        if serializer.is_valid():
            req = serializer.create(validated_data=serializer.validated_data)
            print(req.id)
            find_match_for_request(req.id)
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        print (serializer.errors)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)