Ejemplo n.º 1
0
def retreived_data_detail(request, pk):
    # find data by pk (id)

    try:
        retreived_data = RetreivedData.objects.get(pk=pk)
    except RetreivedData.DoesNotExist:
        return JsonResponse({'message': 'The data does not exist'},
                            status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        retrieved_data_serializer = RetreivedDataSerializer(retreived_data)
        return JsonResponse(retrieved_data_serializer.data)

    elif request.method == 'PUT':
        retreived_data = JSONParser().parse(request)
        retrieved_data_serializer = RetreivedDataSerializer(
            retreived_data, data=retreived_data)
        if retrieved_data_serializer.is_valid():
            retrieved_data_serializer.save()
            return JsonResponse(retrieved_data_serializer.data)
        return JsonResponse(retrieved_data_serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        retreived_data.delete()
        return JsonResponse({'message': 'Data was deleted successfully!'},
                            status=status.HTTP_204_NO_CONTENT)
Ejemplo n.º 2
0
def view_one(request, pk):
    try:
        data = Users.objects.get(pk=pk)
    except Users.DoesNotExist:
        return JsonResponse(
            {'message': 'The %s does not exist'.format(APP_NAME)},
            status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = UsersSerializer(data)
        return JsonResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        obj = Users(pk=data["pk"])
        # serializer = UsersSerializer(data, data=data)
        serializer = UsersSerializer(obj, data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        data.delete()
        return JsonResponse(
            {'message': '%s was deleted successfully'.format(APP_NAME)},
            status=status.HTTP_204_NO_CONTENT)
Ejemplo n.º 3
0
def UserApi(request, username=''):
    if request.method == "GET":
        user = User.objects.all()
        user_serializer = UserSerializer(user, many=True)
        return JsonResponse(user_serializer.data, safe=False)

    elif request.method == "POST":
        user = JSONParser().parse(request)
        user_serializer = UserSerializer(data=user)
        if user_serializer.is_valid():
            user_serializer.save()
            return JsonResponse(True, safe=False)
        return JsonResponse(False, safe=False)

    elif request.method == "PUT":
        user_data = JSONParser().parse(request)
        user = User.objects.get(username=user_data['username'])
        user_serializer = UserSerializer(user, data=user_data)
        if user_serializer.is_valid():
            user_serializer.save()
            return JsonResponse(True, safe=False)
        return JsonResponse(False, safe=False)

    elif request.method == "DELETE":
        user = User.objects.get(username=user_data['username'])
        user.delete()
        return JsonResponse("Record deleted successfully!", safe=False)
Ejemplo n.º 4
0
def review(request) -> JsonResponse:
    if request.method == 'GET':
        review_id = request.query_params.get('id')
        try:
            review = NgoReview.objects.get(pk=review_id)
            return JsonResponse(convert_reviews([review])[0], safe=False)
        except BaseException:
            return JsonResponse(
                {'error': f'No review found for ID {review_id}'},
                status=status.HTTP_400_BAD_REQUEST,
                safe=False)

    if request.method == 'PUT':
        review = JSONParser().parse(request)
        try:
            user_id = review['userId']

            if request.user.id != user_id:
                return JsonResponse({
                    'error':
                    'Comments can only be stored / edited for the current user.'
                })

            user = User.objects.get(pk=user_id)
        except BaseException:
            return JsonResponse({'error': f'No user found for ID {user_id}'},
                                status=status.HTTP_400_BAD_REQUEST,
                                safe=False)

        review_id = review['reviewId']

        if review_id is not None:
            return update_review(review_id, review)
        else:
            return save_new_review(review, user)

    if request.method == 'DELETE':
        review_id = request.query_params.get('id')
        review = NgoReview.objects.get(pk=review_id)

        user_id = review.reviewer.id
        if request.user.id != user_id:
            return JsonResponse({'error': 'Only own comments can be deleted.'})

        review.delete()
        ngo = Ngo.objects.get(pk=review.ngo.id)
        ngo.number_of_reviews -= 1
        TWUpdater()._calculate_tw_without_pagerank_for_ngo(ngo)
        ngo.save()
        return JsonResponse({'message': 'Review was deleted successfully!'},
                            status=status.HTTP_204_NO_CONTENT)