Ejemplo n.º 1
0
def user_providerprofile_detail(request, pk, providerprofile_number, format=None):
    """
    Add, Delete, or Update a User's Job.

    Path: /api/providerprofiles/USER_ID_NUMBER/PROVIDERPROFILE_ID_NUMBER

    PUT PARAMETERS
    data = {
        "profileTitle": "Provider Profile Title",
        "userID": USER ID Number,
        "description": "Some description",
        "id": Provider Profile ID Number,
        "location": "A location"
    }
    """

    try:
        userprofile = UserProfile.objects.get(pk=pk)
    except UserProfile.DoesNotExist:
        return Response(data="User Does Not Exist", status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = ProviderProfile.objects.filter(id=providerprofile_number).values('id', 'userID', 'profileTitle', 'description', 'location')
        return Response(serializer)

    elif request.method == 'PUT':
        try:
            provider_profile = ProviderProfile.objects.get(id=providerprofile_number)
        except:
            error_response = "Cannot locate Profile Number: " + providerprofile_number
            return Response(data=error_response ,status=status.HTTP_400_BAD_REQUEST)

        serializer = ProviderProfileSerializer(provider_profile, data=request.data)

        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        try:
            provider_profile = ProviderProfile.objects.get(id=providerprofile_number)
        except:
            error_response = "Provider Profile: " + str(providerprofile_number) + " does not exist."
            return Response(data=error_response, status=status.HTTP_400_BAD_REQUEST)
        
        provider_profile.delete()
        success_response = "Successfully deleted Provider Profile: " + providerprofile_number
        return Response(data=success_response, status=status.HTTP_204_NO_CONTENT)

    error_response = "Method: " + request.method + " is wrong."
    return Response(data= error_response, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 2
0
def providerprofile_list(request, format=None):
    """
    List all Provider Profiles, or create a new Provider Profile.

    POST PARAMETERS
    data = {
    "username": "******", 
    "profileTitle": "A Profile Title",
    "location": "A location",
    "description": "Some Description"
    }
    """
    user = None
    if request.method == 'GET':
        providerprofile = ProviderProfile.objects.all()
        serializer = ProviderProfileSerializer(providerprofile, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        print ("Data: " + str(request.data))

        try:
            username = request.data["username"]
            user = UserProfile.objects.get(username=username)
        except:
            print ("Username is not in the system.")
            content = "Username is not in the system."
            Response(content, status=status.HTTP_400_BAD_REQUEST)

        try:
            serializer = ProviderProfileSerializer(data=request.data)
        except:
            print ("Data is wrong compared to Register Serializer.")
            content = "Data is wrong compared to Provider Profile Serializer."
            return Response(content, status=status.HTTP_400_BAD_REQUEST)

        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)