SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 4ae62360 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Improve admin (order objects in select forms etc)

parent e078743f
No related branches found
No related tags found
No related merge requests found
from django.contrib import admin
from django import forms
from commentaries.models import Commentary
from scipost.models import Contributor
class CommentaryAdminForm(forms.ModelForm):
authors = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
authors_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
authors_false_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
class Meta:
model = Commentary
fields = '__all__'
class CommentaryAdmin(admin.ModelAdmin):
search_fields = ['author_list', 'pub_abstract']
list_display = ('__str__', 'vetted', 'latest_activity',)
date_hierarchy = 'latest_activity'
form = CommentaryAdminForm
admin.site.register(Commentary, CommentaryAdmin)
from django.contrib import admin, messages
from django import forms
from journals.models import UnregisteredAuthor, Journal, Volume, Issue, Publication, Deposit
from scipost.models import Contributor
from submissions.models import Submission
class UnregisteredAuthorAdmin(admin.ModelAdmin):
......@@ -33,12 +36,27 @@ class IssueAdmin(admin.ModelAdmin):
admin.site.register(Issue, IssueAdmin)
class PublicationAdminForm(forms.ModelForm):
accepted_submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
authors = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
authors_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
authors_false_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
class Meta:
model = Publication
fields = '__all__'
class PublicationAdmin(admin.ModelAdmin):
search_fields = ['title', 'author_list']
list_display = ['title', 'author_list', 'in_issue', 'doi_string', 'publication_date']
date_hierarchy = 'publication_date'
list_filter = ['in_issue']
form = PublicationAdminForm
admin.site.register(Publication, PublicationAdmin)
......
from django.contrib import admin
from django import forms
from .models import ProductionStream, ProductionEvent
from submissions.models import Submission
class ProductionStreamAdminForm(forms.ModelForm):
submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
class Meta:
model = ProductionStream
fields = '__all__'
class ProductionStreamAdmin(admin.ModelAdmin):
search_fields = ['submission']
list_display = ['submission', 'opened', 'status']
form = ProductionStreamAdminForm
admin.site.register(ProductionStream, ProductionStreamAdmin)
class ProductionEventAdminForm(forms.ModelForm):
stream = forms.ModelChoiceField(
queryset=ProductionStream.objects.order_by('-submission.arxiv_identifier_w_vn_nr'))
class Meta:
model = ProductionEvent
fields = '__all__'
class ProductionEventAdmin(admin.ModelAdmin):
search_field = ['stream', 'event', 'comment', 'noted_by']
list_display = ['stream', 'event', 'noted_on', 'noted_by']
form = ProductionEventAdminForm
admin.site.register(ProductionStream)
admin.site.register(ProductionEvent)
admin.site.register(ProductionEvent, ProductionEventAdmin)
import datetime
from django.contrib import admin
from django import forms
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User, Permission
......@@ -12,6 +13,9 @@ from scipost.models import Contributor, Remark,\
AuthorshipClaim, PrecookedEmail,\
EditorialCollege, EditorialCollegeFellowship
from journals.models import Publication
from submissions.models import Submission
class ContributorInline(admin.StackedInline):
model = Contributor
......@@ -80,30 +84,57 @@ def get_remark_type(remark):
return 'Recommendation'
return ''
class RemarkAdminForm(forms.ModelForm):
submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
class Meta:
model = Remark
fields = '__all__'
class RemarkAdmin(admin.ModelAdmin):
search_fields = ['contributor', 'remark']
list_display = [remark_text, 'contributor', 'date', get_remark_type]
date_hierarchy = 'date'
list_filter = [RemarkTypeListFilter]
form = RemarkAdminForm
admin.site.register(Remark, RemarkAdmin)
class DraftInvitationAdminForm(forms.ModelForm):
cited_in_submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
cited_in_publication = forms.ModelChoiceField(
queryset=Publication.objects.order_by('-publication_date'))
class Meta:
model = DraftInvitation
fields = '__all__'
class DraftInvitationAdmin(admin.ModelAdmin):
search_fields = ['first_name', 'last_name', 'email', 'processed']
form = DraftInvitationAdminForm
admin.site.register(DraftInvitation, DraftInvitationAdmin)
class RegistrationInvitationAdminForm(forms.ModelForm):
cited_in_submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
cited_in_publication = forms.ModelChoiceField(
queryset=Publication.objects.order_by('-publication_date'))
class Meta:
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']
list_filter = ['invitation_type', 'message_style', 'responded', 'declined']
date_hierarchy = 'date_sent'
form = RegistrationInvitationAdminForm
admin.site.register(RegistrationInvitation, RegistrationInvitationAdmin)
......
from django.contrib import admin
from django import forms
from guardian.admin import GuardedModelAdmin
from submissions.models import *
from scipost.models import Contributor
def submission_short_title(obj):
return obj.submission.title[:30]
class SubmissionAdminForm(forms.ModelForm):
authors = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
authors_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
authors_false_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
class Meta:
model = Submission
fields = '__all__'
class SubmissionAdmin(GuardedModelAdmin):
search_fields = ['submitted_by__user__last_name', 'title', 'author_list', 'abstract']
list_display = ('title', 'author_list', 'status', 'submission_date', 'publication',)
date_hierarchy = 'submission_date'
list_filter = ('status', 'discipline', 'submission_type', )
form = SubmissionAdminForm
admin.site.register(Submission, SubmissionAdmin)
class EditorialAssignmentAdminForm(forms.ModelForm):
submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
class Meta:
model = EditorialAssignment
fields = '__all__'
class EditorialAssignmentAdmin(admin.ModelAdmin):
search_fields = ['submission__title', 'submission__author_list', 'to__user__last_name']
list_display = ('to', submission_short_title, 'accepted', 'completed', 'date_created',)
date_hierarchy = 'date_created'
list_filter = ('accepted', 'deprecated', 'completed', )
form = EditorialAssignmentAdminForm
admin.site.register(EditorialAssignment, EditorialAssignmentAdmin)
class RefereeInvitationAdminForm(forms.ModelForm):
submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
class Meta:
model = RefereeInvitation
fields = '__all__'
class RefereeInvitationAdmin(admin.ModelAdmin):
search_fields = ['submission__title', 'submission__author_list',
'referee__user__last_name',
......@@ -36,18 +67,26 @@ class RefereeInvitationAdmin(admin.ModelAdmin):
list_display = ('__str__', 'accepted', )
list_filter = ('accepted', 'fulfilled', 'cancelled',)
date_hierarchy = 'date_invited'
form = RefereeInvitationAdminForm
admin.site.register(RefereeInvitation, RefereeInvitationAdmin)
class ReportAdminForm(forms.ModelForm):
submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
class Meta:
model = Report
fields = '__all__'
class ReportAdmin(admin.ModelAdmin):
search_fields = ['author__user__last_name', 'submission']
list_display = ('author', 'status', submission_short_title, 'date_submitted', )
list_display_links = ('author',)
date_hierarchy = 'date_submitted'
list_filter = ('status',)
form = ReportAdminForm
admin.site.register(Report, ReportAdmin)
......@@ -59,8 +98,33 @@ class EditorialCommunicationAdmin(admin.ModelAdmin):
admin.site.register(EditorialCommunication, EditorialCommunicationAdmin)
class EICRecommendationAdminForm(forms.ModelForm):
submission = forms.ModelChoiceField(
queryset=Submission.objects.order_by('-arxiv_identifier_w_vn_nr'))
eligible_to_vote = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
voted_for = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
voted_against = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
voted_abstain = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
class Meta:
model = EICRecommendation
fields = '__all__'
class EICRecommendationAdmin(admin.ModelAdmin):
search_fields = ['submission__title']
form = EICRecommendationAdminForm
admin.site.register(EICRecommendation, EICRecommendationAdmin)
from django.contrib import admin
from django import forms
from theses.models import *
from scipost.models import Contributor
class ThesisLinkAdminForm(forms.ModelForm):
author_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
author_false_claims = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
supervisor_as_cont = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.order_by('user__last_name'))
class Meta:
model = ThesisLink
fields = '__all__'
class ThesisLinkAdmin(admin.ModelAdmin):
search_fields = ['requested_by__user__username', 'author', 'title']
form = ThesisLinkAdminForm
admin.site.register(ThesisLink, ThesisLinkAdmin)
from django.contrib import admin
from django import forms
from .models import VGM, Feedback, Nomination, Motion
from scipost.models import Contributor
class VGMAdmin(admin.ModelAdmin):
search_fields = ['start_date']
......@@ -17,15 +21,51 @@ class FeedbackAdmin(admin.ModelAdmin):
admin.site.register(Feedback, FeedbackAdmin)
class NominationAdminForm(forms.ModelForm):
in_agreement = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
in_notsure = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
in_disagreement = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
class Meta:
model = Nomination
fields = '__all__'
class NominationAdmin(admin.ModelAdmin):
search_fields = ['last_name', 'first_name', 'by']
form = NominationAdminForm
admin.site.register(Nomination, NominationAdmin)
class MotionAdminForm(forms.ModelForm):
in_agreement = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
in_notsure = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
in_disagreement = forms.ModelMultipleChoiceField(
queryset=Contributor.objects.filter(
user__groups__name__in=['Editorial College'],
).order_by('user__last_name'))
class Meta:
model = Motion
fields = '__all__'
class MotionAdmin(admin.ModelAdmin):
search_fields = ['background', 'motion', 'put_forward_by']
form = MotionAdminForm
admin.site.register(Motion, MotionAdmin)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment