Add public protocoin transaction route
This commit is contained in:
parent
0a6e9a6449
commit
3c8a4ae7e4
|
@ -28,6 +28,17 @@ class UsageSerializer(serializers.ModelSerializer):
|
||||||
def get_first_name(self, obj):
|
def get_first_name(self, obj):
|
||||||
return obj.user.member.preferred_name
|
return obj.user.member.preferred_name
|
||||||
|
|
||||||
|
class ProtocoinTransactionSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = models.Transaction
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'date',
|
||||||
|
'protocoin',
|
||||||
|
'account_type',
|
||||||
|
'category',
|
||||||
|
]
|
||||||
|
|
||||||
class TransactionSerializer(serializers.ModelSerializer):
|
class TransactionSerializer(serializers.ModelSerializer):
|
||||||
# fields directly from old portal. replace with slugs we want
|
# fields directly from old portal. replace with slugs we want
|
||||||
account_type = serializers.ChoiceField([
|
account_type = serializers.ChoiceField([
|
||||||
|
|
|
@ -1215,6 +1215,19 @@ class ProtocoinViewSet(Base):
|
||||||
except OperationalError:
|
except OperationalError:
|
||||||
self.card_vend_request(request, pk)
|
self.card_vend_request(request, pk)
|
||||||
|
|
||||||
|
@action(detail=False, methods=['get'])
|
||||||
|
def transactions(self, request):
|
||||||
|
transactions = models.Transaction.objects.exclude(protocoin=0).order_by('-date', '-id')
|
||||||
|
total_protocoin = transactions.aggregate(Sum('protocoin'))['protocoin__sum'] or 0
|
||||||
|
|
||||||
|
serializer = serializers.ProtocoinTransactionSerializer(transactions, many=True)
|
||||||
|
|
||||||
|
res = dict(
|
||||||
|
total_protocoin=total_protocoin,
|
||||||
|
transactions=serializer.data,
|
||||||
|
)
|
||||||
|
return Response(res)
|
||||||
|
|
||||||
|
|
||||||
class RegistrationView(RegisterView):
|
class RegistrationView(RegisterView):
|
||||||
serializer_class = serializers.MyRegisterSerializer
|
serializer_class = serializers.MyRegisterSerializer
|
||||||
|
|
Loading…
Reference in New Issue
Block a user