示例#1
0
 def post(self, request, folio_android, format=None):
     transaction = self.get_object(folio_android)
     serializer = TransactionSerializer(transaction, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
示例#2
0
 def create(self, request, *args, **kwargs):
     data = request.data
     transaction = TransactionSerializer(data=data)
     if transaction.is_valid():
         try:
             transaction.save()
         except ValidationError:
             return Response({'error': 'not enough bts'},
                             status.HTTP_400_BAD_REQUEST)
         return Response(status=status.HTTP_201_CREATED)
     else:
         return Response(status=status.HTTP_400_BAD_REQUEST)
def make_transaction(request):
    user = UserSerializer(User.objects.get(username=request.user))
    balance = UserBalance.objects.get(user=user.data['id'])
    if request.data['transaction_type'] == 1 and balance.balance < request.data[
            'price'] * request.data['amount']:
        return Response({"details": "Your balance is not enough."},
                        status=status.HTTP_400_BAD_REQUEST)

    newBalance = balance.balance
    if request.data['transaction_type'] == 1:
        newBalance -= request.data['price'] * request.data['amount']
    else:
        newBalance += request.data['price'] * request.data['amount']
    balance.balance = newBalance
    balance.save()

    serializer = TransactionSerializer(data=request.data)
    if serializer.is_valid():
        serializer.save(owner=request.user)
        return JsonResponse(serializer.data, status=status.HTTP_201_CREATED)
    return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
示例#4
0
    def create(self, request):
        """
        Bulk creation

        create multiple transactions at once
        """
        serializer = TransactionSerializer(many=True, data=request.data)
        serializer.is_valid(raise_exception=True)
        transactions = serializer.save()
        return Response(
            TransactionSerializer(transactions, many=True).data,
            status=status.HTTP_201_CREATED,
        )
示例#5
0
 def post(self, request, format=None):
     serializer = TransactionSerializer(data=request.data)
     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)
示例#6
0
def serialize_dict(obj):
    serializer = TransactionSerializer(data=obj)
    if serializer.is_valid():
        serializer.save()
        return JsonResponse(serializer.data, status=201)