diff --git a/apps/pg/admin.py b/apps/pg/admin.py index dbde3ff..8f48238 100644 --- a/apps/pg/admin.py +++ b/apps/pg/admin.py @@ -1,4 +1,6 @@ from django.contrib import admin +from django.db.models import Sum + from .models import PaymentRequest, PNA, Fake @@ -13,6 +15,17 @@ class PaymentRequestAdmin(admin.ModelAdmin): search_fields = ['application__uuid','application__client_id', 'amount', 'user__uuid'] list_filter = ['application', 'state', 'gateway'] + def changelist_view(self, request, extra_context=None): + extra_context = extra_context or {} + + cl = self.get_changelist_instance(request) + queryset = cl.result_list + totals = queryset.aggregate( + total_amount=Sum('amount'), + ) + extra_context['totals'] = totals + return super().changelist_view(request, extra_context=extra_context) + class FakeAdmin(admin.ModelAdmin): list_display = [ 'created_at'] diff --git a/templates/admin/pg/paymentrequest/change_list.html b/templates/admin/pg/paymentrequest/change_list.html new file mode 100644 index 0000000..dab27a4 --- /dev/null +++ b/templates/admin/pg/paymentrequest/change_list.html @@ -0,0 +1,11 @@ +{% extends "admin/change_list.html" %} +{% load tags %} +{% block result_list %} + {{ block.super }} +
{{ totals.total_amount|default:"0"|amount_split_3digit }}
+ +