diff --git a/scipost/admin.py b/scipost/admin.py index 32c2c40a9435158246668af90a39f4917232abe4..4fe9c27cd08971c8949375475d8e7bc850906f45 100644 --- a/scipost/admin.py +++ b/scipost/admin.py @@ -1,5 +1,3 @@ -import datetime - from django.contrib import admin from django import forms @@ -11,13 +9,16 @@ from scipost.models import Contributor, Remark,\ AffiliationObject,\ RegistrationInvitation,\ AuthorshipClaim, PrecookedEmail,\ - EditorialCollege, EditorialCollegeFellowship + EditorialCollege, EditorialCollegeFellowship, UnavailabilityPeriod from journals.models import Publication from partners.admin import ContactToUserInline from submissions.models import Submission +admin.site.register(UnavailabilityPeriod) + + class ContributorInline(admin.StackedInline): model = Contributor extra = 0 @@ -88,6 +89,7 @@ def get_remark_type(remark): return 'Recommendation' return '' + class RemarkAdminForm(forms.ModelForm): submission = forms.ModelChoiceField( required=False, @@ -97,6 +99,7 @@ class RemarkAdminForm(forms.ModelForm): model = Remark fields = '__all__' + class RemarkAdmin(admin.ModelAdmin): search_fields = ['contributor', 'remark'] list_display = [remark_text, 'contributor', 'date', get_remark_type] @@ -104,6 +107,7 @@ class RemarkAdmin(admin.ModelAdmin): list_filter = [RemarkTypeListFilter] form = RemarkAdminForm + admin.site.register(Remark, RemarkAdmin) @@ -123,6 +127,7 @@ class DraftInvitationAdmin(admin.ModelAdmin): search_fields = ['first_name', 'last_name', 'email', 'processed'] form = DraftInvitationAdminForm + admin.site.register(DraftInvitation, DraftInvitationAdmin) @@ -138,6 +143,7 @@ class RegistrationInvitationAdminForm(forms.ModelForm): model = RegistrationInvitation fields = '__all__' + class RegistrationInvitationAdmin(admin.ModelAdmin): search_fields = ['first_name', 'last_name', 'email', 'invitation_key'] list_display = ['__str__', 'invitation_type', 'invited_by', 'responded'] @@ -145,9 +151,8 @@ class RegistrationInvitationAdmin(admin.ModelAdmin): date_hierarchy = 'date_sent' form = RegistrationInvitationAdminForm -admin.site.register(RegistrationInvitation, RegistrationInvitationAdmin) - +admin.site.register(RegistrationInvitation, RegistrationInvitationAdmin) admin.site.register(AuthorshipClaim) admin.site.register(Permission) @@ -166,7 +171,6 @@ class AffiliationObjectAdmin(admin.ModelAdmin): admin.site.register(AffiliationObject, AffiliationObjectAdmin) - class EditorialCollegeAdmin(admin.ModelAdmin): search_fields = ['discipline', 'member'] diff --git a/scipost/models.py b/scipost/models.py index c8f96827a0aa1b6397076364705840e87ce51cde..a59ea8df52301965ee597ab3f795dff1048dfe02 100644 --- a/scipost/models.py +++ b/scipost/models.py @@ -164,6 +164,12 @@ class UnavailabilityPeriod(models.Model): start = models.DateField() end = models.DateField() + class Meta: + ordering = ['-start'] + + def __str__(self): + return '%s (%s to %s)' % (self.contributor, self.start, self.end) + class Remark(models.Model): contributor = models.ForeignKey(Contributor, on_delete=models.CASCADE)