From 17c00df0a85b0c80e23b841e4860feb76e1b3f8c Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Wed, 10 Jun 2020 21:05:09 +0200 Subject: [PATCH] Accelerate admin, up to and including journals app --- funders/admin.py | 15 ++++++++++++++- helpdesk/admin.py | 8 ++++++++ invitations/admin.py | 14 ++++++++++++-- journals/admin.py | 46 +++++++++++++++++++++++++++++++++----------- ontology/admin.py | 4 +++- 5 files changed, 72 insertions(+), 15 deletions(-) diff --git a/funders/admin.py b/funders/admin.py index 7914c2dba..137801194 100644 --- a/funders/admin.py +++ b/funders/admin.py @@ -10,4 +10,17 @@ from .models import Funder, Grant admin.site.register(Funder) -admin.site.register(Grant) + +class GrantAdmin(admin.ModelAdmin): + search_fields = [ + 'funder__name', + 'number', + 'recipient_name', + 'recipiend__user__last_name', + ] + autocomplete_fields = [ + 'funder', + 'recipient', + ] + +admin.site.register(Grant, GrantAdmin) diff --git a/helpdesk/admin.py b/helpdesk/admin.py index 91c33beb1..fbd4593ab 100644 --- a/helpdesk/admin.py +++ b/helpdesk/admin.py @@ -19,9 +19,17 @@ admin.site.register(Queue, QueueAdmin) class FollowupInline(admin.TabularInline): model = Followup extra = 0 + autocomplete_fields = [ + 'by', + ] + class TicketAdmin(admin.ModelAdmin): search_fields = ['description', 'defined_by'] inlines = [FollowupInline] + autocomplete_fields = [ + 'defined_by', + 'assigned_to', + ] admin.site.register(Ticket, TicketAdmin) diff --git a/invitations/admin.py b/invitations/admin.py index ea1a25bb4..d1ca4607e 100644 --- a/invitations/admin.py +++ b/invitations/admin.py @@ -12,7 +12,11 @@ class RegistrationInvitationAdmin(admin.ModelAdmin): search_fields = ['first_name', 'last_name', 'email', 'invitation_key'] list_display = ['__str__', 'invitation_type', 'invited_by', 'status'] list_filter = ['invitation_type', 'message_style', 'status'] - + autocomplete_fields = [ + 'profile', + 'invited_by', + 'created_by', + ] admin.site.register(RegistrationInvitation, RegistrationInvitationAdmin) @@ -23,6 +27,12 @@ class CitationNotificationAdmin(admin.ModelAdmin): 'contributor__user__first_name', 'contributor__user__last_name'] list_display = ['__str__', 'created_by', 'date_sent', 'processed'] list_filter = ['processed'] - + autocomplete_fields = [ + 'invitation', + 'contributor', + 'submission', + 'publication', + 'created_by', + ] admin.site.register(CitationNotification, CitationNotificationAdmin) diff --git a/journals/admin.py b/journals/admin.py index d89cbecce..6451142b7 100644 --- a/journals/admin.py +++ b/journals/admin.py @@ -36,14 +36,14 @@ admin.site.register(Issue, IssueAdmin) class PublicationAdminForm(forms.ModelForm): - accepted_submission = forms.ModelChoiceField( - queryset=Submission.objects.order_by('-preprint__identifier_w_vn_nr')) - authors_claims = forms.ModelMultipleChoiceField( - required=False, - queryset=Contributor.objects.order_by('user__last_name')) - authors_false_claims = forms.ModelMultipleChoiceField( - required=False, - queryset=Contributor.objects.order_by('user__last_name')) + # accepted_submission = forms.ModelChoiceField( + # queryset=Submission.objects.order_by('-preprint__identifier_w_vn_nr')) + # authors_claims = forms.ModelMultipleChoiceField( + # required=False, + # queryset=Contributor.objects.order_by('user__last_name')) + # authors_false_claims = forms.ModelMultipleChoiceField( + # required=False, + # queryset=Contributor.objects.order_by('user__last_name')) class Meta: model = Publication @@ -58,11 +58,18 @@ class ReferenceInline(admin.TabularInline): class AuthorsInline(admin.TabularInline): model = PublicationAuthorsTable extra = 0 + autocomplete_fields = [ + 'profile', + 'affiliations', + ] class OrgPubFractionInline(admin.TabularInline): model = OrgPubFraction list_display = ('organization', 'publication', 'fraction') + autocomplete_fields = [ + 'organization', + ] class PublicationAdmin(admin.ModelAdmin): @@ -72,7 +79,14 @@ class PublicationAdmin(admin.ModelAdmin): list_filter = ['in_issue'] inlines = [AuthorsInline, ReferenceInline, OrgPubFractionInline] form = PublicationAdminForm - + autocomplete_fields = [ + 'accepted_submission', + 'authors_claims', + 'authors_false_claims', + 'grants', + 'funders_generic', + 'topics', + ] admin.site.register(Publication, PublicationAdmin) @@ -113,10 +127,20 @@ class DepositAdmin(admin.ModelAdmin): admin.site.register(Deposit, DepositAdmin) -admin.site.register(DOAJDeposit) +class DOAJDepositAdmin(admin.ModelAdmin): + autocomplete_fields = [ + 'publication', + ] + +admin.site.register(DOAJDeposit, DOAJDepositAdmin) admin.site.register(GenericDOIDeposit) -admin.site.register(PublicationUpdate) +class PublicationUpdateAdmin(admin.ModelAdmin): + autocomplete_fields = [ + 'publication', + ] + +admin.site.register(PublicationUpdate, PublicationUpdateAdmin) diff --git a/ontology/admin.py b/ontology/admin.py index 9a68bf929..7f1206090 100644 --- a/ontology/admin.py +++ b/ontology/admin.py @@ -14,7 +14,9 @@ admin.site.register(Tag, TagAdmin) class TopicAdmin(admin.ModelAdmin): - pass + search_fields = [ + 'name' + ] admin.site.register(Topic, TopicAdmin) -- GitLab