Esempio n. 1
0
    def post(self, request, person_id, format=None):
        person = Person.objects.filter(user=request.user, id=person_id).first()
        if person is None:
            return create_error_response('invalid_user')

        serializer = ScheduledTransactionWriteSerializer(data=request.data)
        if serializer.is_valid():
            scheduled_transaction = serializer.save(person=person)

            return Response({
                'scheduledTransactionId': scheduled_transaction.id,
                'status': status.HTTP_200_OK,
            })
        else:
            return create_error_response(serializer.error_messages)
Esempio n. 2
0
    def delete(self, request, person_id, format=None):
        person = Person.objects.filter(user=request.user, id=person_id).first()
        if person is None:
            return create_error_response('invalid_user')

        person.delete()

        return Response({}, status=status.HTTP_200_OK)
Esempio n. 3
0
    def delete(self, request, transaction_id, format=None):
        transaction = ScheduledTransaction.objects.filter(
            person__user=request.user, id=transaction_id).first()

        if transaction is None:
            return create_error_response('invalid_user')

        transaction.delete()

        return Response({}, status=status.HTTP_200_OK)
Esempio n. 4
0
    def post(self, request, format=None):
        serializer = PersonWriteSerializer(data=request.data)
        if serializer.is_valid():
            person = serializer.save(user=request.user, balance=0)

            return Response({
                'personId': person.id,
                'status': status.HTTP_200_OK,
            })
        else:
            return create_error_response(serializer.error_messages)
Esempio n. 5
0
    def get(self, request, person_id, format=None):
        person = get_persons(user=request.user, id=person_id).first()
        if person is None:
            return create_error_response('invalid_user')

        serializer = PersonSerializer(instance=person)

        return Response(
            {
                'person': serializer.data,
                # @TODO: Remove when the next update is online
                'weeklyStats': {},
            },
            status=status.HTTP_200_OK)
Esempio n. 6
0
    def get(self, request, person_id, format=None):
        person = Person.objects.filter(user=request.user, id=person_id).first()
        if person is None:
            return create_error_response('invalid_user')

        transactions = ScheduledTransaction.objects.filter(
            person=person).order_by('-date_added')

        serializer = ScheduledTransactionSerializer(instance=transactions,
                                                    many=True)

        return Response({
            'transactions': serializer.data,
        },
                        status=status.HTTP_200_OK)
Esempio n. 7
0
    def patch(self, request, person_id, format=None):
        person = get_persons(user=request.user, id=person_id).first()
        if person is None:
            return create_error_response('invalid_user')

        serializer = PersonWriteSerializer(data=request.data)
        if serializer.is_valid():
            person.name = request.data['name']
            person.save()

            return Response({
                'person': serializer.data,
            },
                            status=status.HTTP_200_OK)

        return Response({
            'error': serializer.errors,
        },
                        status=status.HTTP_400_BAD_REQUEST)