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)
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)