From 3f5f6d6109bbfc399e8d1939b1abfaa4f9e7cb05 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Wed, 12 Sep 2018 13:58:10 +0200 Subject: [PATCH] Show current users of discount codes in admin view --- postgresqleu/confreg/backendforms.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/postgresqleu/confreg/backendforms.py b/postgresqleu/confreg/backendforms.py index c6c9ee3..cb90fc6 100644 --- a/postgresqleu/confreg/backendforms.py +++ b/postgresqleu/confreg/backendforms.py @@ -6,6 +6,7 @@ import django.forms.widgets from django.utils.safestring import mark_safe import datetime +from collections import OrderedDict from psycopg2.extras import DateTimeTZRange from postgresqleu.util.forms import ConcurrentProtectedModelForm @@ -622,9 +623,28 @@ class BackendNewDiscountCodeForm(django.forms.Form): def get_newform_data(self): return self.cleaned_data['codetype'] +class DiscountCodeUserManager(object): + title = 'Users' + singular = 'user' + + def get_list(self, instance): + return [(r.id, r.fullname, r.invoice_status) for r in ConferenceRegistration.objects.filter(conference=instance.conference, vouchercode=instance.code)] + + def get_form(self): + return None + + def get_object(self, masterobj, subjid): + try: + return ConferenceRegistration.objects.get(discountcode=blah, pk=subjid) + except ConferenceRegistration.DoesNotExist: + return None + class BackendDiscountCodeForm(BackendForm): helplink='vouchers#discountcodes' list_fields = ['code', 'validuntil', 'maxuses'] + linked_objects = OrderedDict({ + '../../regdashboard/list': DiscountCodeUserManager(), + }) form_before_new = BackendNewDiscountCodeForm -- 2.39.5