diff options
author | Magnus Hagander | 2020-04-01 15:14:35 +0000 |
---|---|---|
committer | Magnus Hagander | 2020-04-04 14:18:40 +0000 |
commit | b93043e6bf29326b7678f9505e61e69a33219946 (patch) | |
tree | 07482cd31f4e2f20adc3c16a9d249c017d5a0a77 /postgresqleu | |
parent | b4f52960137be5c6f97f460b9d7e805ca19a8c34 (diff) |
Enable use of django 2.2 autocomplete in admin views
Diffstat (limited to 'postgresqleu')
-rw-r--r-- | postgresqleu/confreg/admin.py | 19 | ||||
-rw-r--r-- | postgresqleu/confsponsor/admin.py | 1 | ||||
-rw-r--r-- | postgresqleu/confwiki/admin.py | 1 | ||||
-rw-r--r-- | postgresqleu/elections/admin.py | 1 | ||||
-rw-r--r-- | postgresqleu/invoices/admin.py | 1 | ||||
-rw-r--r-- | postgresqleu/membership/admin.py | 4 | ||||
-rw-r--r-- | postgresqleu/newsevents/admin.py | 1 |
7 files changed, 27 insertions, 1 deletions
diff --git a/postgresqleu/confreg/admin.py b/postgresqleu/confreg/admin.py index d557f020..8441c9d1 100644 --- a/postgresqleu/confreg/admin.py +++ b/postgresqleu/confreg/admin.py @@ -79,6 +79,10 @@ class AdditionalOptionListFilter(admin.SimpleListFilter): # # General admin classes # +class ConferenceSeriesAdmin(admin.ModelAdmin): + autocomplete_fields = ('administrators', ) + + class ConferenceAdminForm(ConcurrentProtectedModelForm): class Meta: model = Conference @@ -101,6 +105,7 @@ class ConferenceAdmin(admin.ModelAdmin): form = ConferenceAdminForm list_display = ('conferencename', 'active', 'callforpapersopen', 'callforsponsorsopen', 'feedbackopen', 'startdate', 'enddate') ordering = ('-startdate', ) + autocomplete_fields = ('administrators', 'testers', 'talkvoters', 'staff', 'volunteers', 'checkinprocessors', ) class ConferenceRegistrationForm(ConcurrentProtectedModelForm): @@ -126,6 +131,7 @@ class ConferenceRegistrationAdmin(admin.ModelAdmin): filter_horizontal = ('additionaloptions',) exclude = ('invoice', 'bulkpayment', ) readonly_fields = ('invoice_link', 'bulkpayment_link', 'lastmodified', ) + autocomplete_fields = ('attendee', 'registrator', ) def payconfirmedat_short(self, inst): return inst.payconfirmedat @@ -187,6 +193,7 @@ class ConferenceSessionAdmin(admin.ModelAdmin): list_filter = ['conference', TrackListFilter, 'status', ] search_fields = ['title', ] filter_horizontal = ('speaker',) + autocomplete_fields = ('speaker', ) class ConferenceSessionScheduleSlotAdmin(admin.ModelAdmin): @@ -248,6 +255,7 @@ class ConferenceAdditionalOptionAdminForm(ConcurrentProtectedModelForm): try: self.fields['requires_regtype'].queryset = RegistrationType.objects.filter(conference=self.instance.conference) self.fields['mutually_exclusive'].queryset = ConferenceAdditionalOption.objects.filter(conference=self.instance.conference) + self.fields['additionaldays'].queryset = RegistrationDay.objects.filter(conference=self.instance.conference) except Conference.DoesNotExist: # If we don't have a conference yet, we can just ignore the fact # that we couldn't list it. @@ -258,6 +266,7 @@ class ConferenceAdditionalOptionAdmin(admin.ModelAdmin): list_display = ['conference', 'name', 'maxcount', 'cost', 'used_count', 'confirmed_count', 'unconfirmed_count'] list_filter = ['conference', ] ordering = ['conference', 'name', ] + search_fields = ['name', ] filter_horizontal = ('requires_regtype', 'mutually_exclusive', ) form = ConferenceAdditionalOptionAdminForm @@ -292,6 +301,7 @@ class SpeakerAdminForm(ConcurrentProtectedModelForm): class SpeakerAdmin(admin.ModelAdmin): list_display = ['user', 'email', 'fullname', 'has_abstract', 'has_photo'] search_fields = ['fullname', 'user__email'] + autocomplete_fields = ('user', ) ordering = ['fullname'] form = SpeakerAdminForm @@ -333,6 +343,7 @@ class PrepaidBatchAdminForm(ConcurrentProtectedModelForm): super(PrepaidBatchAdminForm, self).__init__(*args, **kwargs) try: self.fields['sponsor'].queryset = Sponsor.objects.filter(conference=self.instance.conference) + self.fields['regtype'].queryset = RegistrationType.objects.filter(conference=self.instance.conference) except Conference.DoesNotExist: pass @@ -340,6 +351,7 @@ class PrepaidBatchAdminForm(ConcurrentProtectedModelForm): class PrepaidBatchAdmin(admin.ModelAdmin): list_display = ['id', 'conference', 'buyer', 'buyername', 'total_num', 'used_num', ] list_filter = ['conference', ] + autocomplete_fields = ('buyer', ) inlines = [PrepaidVoucherInline, ] form = PrepaidBatchAdminForm @@ -437,12 +449,14 @@ class DiscountCodeAdminForm(ConcurrentProtectedModelForm): class DiscountCodeAdmin(admin.ModelAdmin): list_display = ['code', 'conference', 'maxuses', 'count', ] list_filter = ['conference', ] + autocomplete_fields = ('registrations', 'sponsor_rep', ) form = DiscountCodeAdminForm class BulkPaymentAdmin(admin.ModelAdmin): list_display = ['adminstring', 'conference', 'user', 'numregs', 'paidat', 'ispaid', ] list_filter = ['conference', ] + autocomplete_fields = ['user', ] class AttendeeMailAdminForm(ConcurrentProtectedModelForm): @@ -454,11 +468,13 @@ class AttendeeMailAdminForm(ConcurrentProtectedModelForm): super(AttendeeMailAdminForm, self).__init__(*args, **kwargs) if 'instance' in kwargs: self.fields['regclasses'].queryset = RegistrationClass.objects.filter(conference=self.instance.conference) + self.fields['addopts'].queryset = ConferenceAdditionalOption.objects.filter(conference=self.instance.conference) class AttendeeMailAdmin(admin.ModelAdmin): form = AttendeeMailAdminForm filter_horizontal = ('regclasses', ) + autocomplete_fields = ('registrations', 'pending_regs', ) class PendingAdditionalOrderAdminForm(ConcurrentProtectedModelForm): @@ -477,6 +493,7 @@ class PendingAdditionalOrderAdminForm(ConcurrentProtectedModelForm): class PendingAdditionalOrderAdmin(admin.ModelAdmin): form = PendingAdditionalOrderAdminForm list_display = ('reg', 'createtime', 'payconfirmedat') + autocomplete_fields = ('invoice', ) class VolunteerSlotAdminForm(ConcurrentProtectedModelForm): @@ -501,7 +518,7 @@ class VolunteerSlotAdmin(admin.ModelAdmin): list_display = ('__str__', 'title') -admin.site.register(ConferenceSeries) +admin.site.register(ConferenceSeries, ConferenceSeriesAdmin) admin.site.register(Conference, ConferenceAdmin) admin.site.register(RegistrationClass, RegistrationClassAdmin) admin.site.register(RegistrationDay, RegistrationDayAdmin) diff --git a/postgresqleu/confsponsor/admin.py b/postgresqleu/confsponsor/admin.py index b7496728..e9d30d06 100644 --- a/postgresqleu/confsponsor/admin.py +++ b/postgresqleu/confsponsor/admin.py @@ -95,6 +95,7 @@ class SponsorAdmin(admin.ModelAdmin): inlines = [SponsorClaimedBenefitInline, ] list_filter = ['conference', LevelListFilter, ] list_display = ['name', 'level', 'conference', ] + autocomplete_fields = ('managers', ) def invoice_link(self, inst): if inst.invoice: diff --git a/postgresqleu/confwiki/admin.py b/postgresqleu/confwiki/admin.py index d1af5bb5..6944095f 100644 --- a/postgresqleu/confwiki/admin.py +++ b/postgresqleu/confwiki/admin.py @@ -45,6 +45,7 @@ class WikipageSubscriberInline(admin.TabularInline): class WikipageAdmin(admin.ModelAdmin): form = WikipageAdminForm inlines = [WikipageHistoryInline, WikipageSubscriberInline] + autocomplete_fields = ('author', 'viewer_attendee', 'editor_attendee') class AttendeeSignupAdminForm(ConcurrentProtectedModelForm): diff --git a/postgresqleu/elections/admin.py b/postgresqleu/elections/admin.py index 1c19cac1..b29db362 100644 --- a/postgresqleu/elections/admin.py +++ b/postgresqleu/elections/admin.py @@ -15,6 +15,7 @@ class VoteAdminForm(ModelForm): class VoteAdmin(admin.ModelAdmin): list_display = ('election', 'voter', 'candidate', 'score') + autocomplete_fields = ('voter', ) ordering = ['election', ] form = VoteAdminForm diff --git a/postgresqleu/invoices/admin.py b/postgresqleu/invoices/admin.py index c094abb7..96e1b033 100644 --- a/postgresqleu/invoices/admin.py +++ b/postgresqleu/invoices/admin.py @@ -58,6 +58,7 @@ class InvoiceAdmin(admin.ModelAdmin): form = InvoiceAdminForm exclude = ['pdf_invoice', 'pdf_receipt', ] filter_horizontal = ['allowedmethods', ] + search_fields = ['title', 'id', ] class InvoiceLogAdmin(admin.ModelAdmin): diff --git a/postgresqleu/membership/admin.py b/postgresqleu/membership/admin.py index c451a74b..86a4a603 100644 --- a/postgresqleu/membership/admin.py +++ b/postgresqleu/membership/admin.py @@ -30,6 +30,8 @@ class MemberAdmin(admin.ModelAdmin): list_display = ('user', 'fullname', 'country', 'membersince', 'paiduntil', ) ordering = ('user',) list_filter = (ActiveMemberFilter, ) + search_fields = ('fullname', ) + autocomplete_fields = ('user', 'activeinvoice', ) def change_view(self, request, object_id, extra_context=None): member = Member(pk=object_id) @@ -41,11 +43,13 @@ class MemberAdmin(admin.ModelAdmin): class MemberLogAdmin(admin.ModelAdmin): list_display = ('member', 'timestamp', 'message', ) ordering = ('-timestamp', ) + autocomplete_fields = ('member', ) class MeetingAdmin(admin.ModelAdmin): list_display = ('name', 'dateandtime', ) filter_horizontal = ('members', ) + autocomplete_fields = ('members', ) admin.site.register(Member, MemberAdmin) diff --git a/postgresqleu/newsevents/admin.py b/postgresqleu/newsevents/admin.py index 9b43d160..fcca4195 100644 --- a/postgresqleu/newsevents/admin.py +++ b/postgresqleu/newsevents/admin.py @@ -7,6 +7,7 @@ from postgresqleu.newsevents.models import News, NewsPosterProfile class NewsPosterProfileAdmin(admin.ModelAdmin): list_display = ('__str__', 'rsslink') + autocomplete_fields = ('author', ) def rsslink(self, author): return "/feeds/user/{0}/".format(author.urlname) |