Gift cards: Allow to sort by most recent transaction

This commit is contained in:
Raphael Michel
2023-10-24 11:12:41 +02:00
parent 563583cd36
commit 053cfdf3a9
3 changed files with 11 additions and 1 deletions

View File

@@ -1435,8 +1435,12 @@ class GiftCardListView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixi
s = GiftCardTransaction.objects.filter(
card=OuterRef('pk')
).order_by().values('card').annotate(s=Sum('value')).values('s')
s_last_tx = GiftCardTransaction.objects.filter(
card=OuterRef('pk')
).order_by().values('card').annotate(m=Max('datetime')).values('m')
qs = self.request.organizer.issued_gift_cards.annotate(
cached_value=Coalesce(Subquery(s), Decimal('0.00'))
cached_value=Coalesce(Subquery(s), Decimal('0.00')),
last_tx=Subquery(s_last_tx),
).order_by('-issuance')
if self.filter_form.is_valid():
qs = self.filter_form.filter_qs(qs)