Source code for production.admin

__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django.contrib import admin

from guardian.admin import GuardedModelAdmin

from .models import ProductionStream, ProductionEvent, ProductionUser, Proofs,\
    ProductionEventAttachment


[docs]def event_count(obj): return obj.events.count()
[docs]class ProductionUserInline(admin.StackedInline): model = ProductionUser extra = 0 min_num = 0
[docs]class ProductionEventInline(admin.TabularInline): model = ProductionEvent extra = 1 readonly_fields = ()
[docs]class ProductionStreamAdmin(GuardedModelAdmin): search_fields = ['submission__author_list', 'submission__title', 'submission__preprint__identifier_w_vn_nr'] list_filter = ['status'] list_display = ['submission', 'opened', 'status', event_count] inlines = ( ProductionEventInline, )
[docs]class ProductionProofsAdmin(admin.ModelAdmin): list_display = ['stream', 'version', 'status', 'accessible_for_authors'] list_filter = ['status', 'accessible_for_authors']
admin.site.register(Proofs, ProductionProofsAdmin) admin.site.register(ProductionUser) admin.site.register(ProductionEvent) admin.site.register(ProductionEventAttachment) admin.site.register(ProductionStream, ProductionStreamAdmin)