Exemple #1
0
def build_list(request):
    """
    Api to deal with all build instances, get, put (add).
    """
    if request.method == 'GET':
        builds = Build.objects.all()
        serializer = BuildSerializer(builds, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = BuildSerializer(data=request.DATA)
        if serializer.is_valid():
            serializer.save()
            return HttpResponse(JSONRenderer().render(serializer.data), {'content_type' : 'application/json'})
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Exemple #2
0
def build_detail(request, build_id):
    """
    Api to deal with single build instances, get, put (add) or delete.
    """
    build = get_object_or_404(Build, pk=build_id)

    if request.method == 'GET':
        serializer = BuildSerializer(build)
        return HttpResponse(JSONRenderer().render(serializer.data), {'content_type' : 'application/json'})

    elif request.method == 'PUT':
        serializer = BuildSerializer(build, data=request.DATA)
        if serializer.is_valid():
            serializer.save()
            return HttpResponse(JSONRenderer().render(serializer.data), {'content_type' : 'application/json'})
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        build.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)