filter for user transactions
This commit is contained in:
parent
e54e4ae829
commit
a17c5f60bd
3 changed files with 21 additions and 1 deletions
14
apps/wallet/filters.py
Normal file
14
apps/wallet/filters.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
import django_filters
|
||||
from django.db.models import Q
|
||||
|
||||
|
||||
from .models import Transaction
|
||||
|
||||
|
||||
class UserTransactionFilter(django_filters.FilterSet):
|
||||
class Meta:
|
||||
model = Transaction
|
||||
fields = {
|
||||
'payer_id': ['iexact'],
|
||||
'payee_id': ['iexact'],
|
||||
}
|
||||
|
|
@ -79,7 +79,8 @@ class DepositSubmitAPIView(generics.CreateAPIView):
|
|||
application=application)
|
||||
try:
|
||||
instance.submit()
|
||||
except:
|
||||
except Exception as e:
|
||||
print(e)
|
||||
APIException('Failed to submit deposit')
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ from django.db.models import Q
|
|||
from django.urls import reverse
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views.generic import DetailView, ListView, UpdateView
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
|
||||
from oauth2_provider.contrib.rest_framework import TokenHasScope, IsAuthenticatedOrTokenHasScope
|
||||
from rest_framework import generics, permissions
|
||||
|
|
@ -15,6 +16,7 @@ from apps.wallet.models import Transaction
|
|||
from apps.wallet.serializers import UserTransactionSerializer, DepositSerializer, WithdrawSerializer, \
|
||||
MyWalletSerializer
|
||||
from ..constans import StateChoices, TypeChoices
|
||||
from ..filters import UserTransactionFilter
|
||||
from ..forms import TransactionActionForm
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
|
@ -56,6 +58,9 @@ class TransactionList(generics.ListAPIView):
|
|||
# "POST": [['wallet.invoice:create']],
|
||||
}
|
||||
|
||||
filter_backends = (DjangoFilterBackend,)
|
||||
filterset_class = UserTransactionFilter
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
return Transaction.objects.filter(Q(payee_id=user.pk, payee_type=TypeChoices.USER.value) | Q(payer_id=user.pk, payer_type=TypeChoices.USER.value)).all()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue