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)
|
application=application)
|
||||||
try:
|
try:
|
||||||
instance.submit()
|
instance.submit()
|
||||||
except:
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
APIException('Failed to submit deposit')
|
APIException('Failed to submit deposit')
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ from django.db.models import Q
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.decorators import method_decorator
|
from django.utils.decorators import method_decorator
|
||||||
from django.views.generic import DetailView, ListView, UpdateView
|
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 oauth2_provider.contrib.rest_framework import TokenHasScope, IsAuthenticatedOrTokenHasScope
|
||||||
from rest_framework import generics, permissions
|
from rest_framework import generics, permissions
|
||||||
|
|
@ -15,6 +16,7 @@ from apps.wallet.models import Transaction
|
||||||
from apps.wallet.serializers import UserTransactionSerializer, DepositSerializer, WithdrawSerializer, \
|
from apps.wallet.serializers import UserTransactionSerializer, DepositSerializer, WithdrawSerializer, \
|
||||||
MyWalletSerializer
|
MyWalletSerializer
|
||||||
from ..constans import StateChoices, TypeChoices
|
from ..constans import StateChoices, TypeChoices
|
||||||
|
from ..filters import UserTransactionFilter
|
||||||
from ..forms import TransactionActionForm
|
from ..forms import TransactionActionForm
|
||||||
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
@ -56,6 +58,9 @@ class TransactionList(generics.ListAPIView):
|
||||||
# "POST": [['wallet.invoice:create']],
|
# "POST": [['wallet.invoice:create']],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
filter_backends = (DjangoFilterBackend,)
|
||||||
|
filterset_class = UserTransactionFilter
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
user = self.request.user
|
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()
|
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