datatracker/ietf/submit/admin.py

52 lines
2.2 KiB
Python

# Copyright The IETF Trust 2011-2020, All Rights Reserved
from django.urls import reverse as urlreverse
from django.contrib import admin
from django.conf import settings
from ietf.submit.models import Preapproval, Submission, SubmissionEvent, SubmissionCheck, SubmissionEmailEvent
class SubmissionAdmin(admin.ModelAdmin):
list_display = ['id', 'rev', 'draft_link', 'status_link', 'submission_date',]
list_filter = ['state', ]
ordering = [ '-id' ]
search_fields = ['name', ]
raw_id_fields = ['group', 'draft']
def status_link(self, instance):
url = urlreverse('ietf.submit.views.submission_status',
kwargs=dict(submission_id=instance.pk,
access_token=instance.access_token()))
return '<a href="%s">%s</a>' % (url, instance.state)
status_link.allow_tags = True # type: ignore # https://github.com/python/mypy/issues/2087
def draft_link(self, instance):
if instance.state_id == "posted":
return '<a href="%s/%s-%s.txt">%s</a>' % (settings.IETF_ID_ARCHIVE_URL,instance.name, instance.rev, instance.name)
else:
return instance.name
draft_link.allow_tags = True # type: ignore # https://github.com/python/mypy/issues/2087
admin.site.register(Submission, SubmissionAdmin)
class SubmissionEventAdmin(admin.ModelAdmin):
list_display = ['id', 'submission', 'rev', 'time', 'by', 'desc', ]
raw_id_fields = ['submission', 'by']
search_fields = ['submission__name']
def rev(self, instance):
return instance.submission.rev
admin.site.register(SubmissionEvent, SubmissionEventAdmin)
class SubmissionCheckAdmin(admin.ModelAdmin):
list_display = ['submission', 'time', 'checker', 'passed', 'errors', 'warnings', 'message']
raw_id_fields = ['submission']
search_fields = ['submission__name']
admin.site.register(SubmissionCheck, SubmissionCheckAdmin)
class PreapprovalAdmin(admin.ModelAdmin):
pass
admin.site.register(Preapproval, PreapprovalAdmin)
class SubmissionEmailEventAdmin(admin.ModelAdmin):
list_display = ['id', 'submission', 'time', 'by', 'message', 'desc', ]
admin.site.register(SubmissionEmailEvent, SubmissionEmailEventAdmin)