-
Notifications
You must be signed in to change notification settings - Fork 719
Expand file tree
/
Copy pathadmin.py
More file actions
65 lines (54 loc) · 2.83 KB
/
admin.py
File metadata and controls
65 lines (54 loc) · 2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# 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 django import forms
from ietf.submit.models import (Preapproval, Submission, SubmissionEvent,
SubmissionCheck, SubmissionEmailEvent, SubmissionExtResource)
from ietf.utils.validators import validate_external_resource_value
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)
class SubmissionExtResourceAdminForm(forms.ModelForm):
def clean(self):
validate_external_resource_value(self.cleaned_data['name'],self.cleaned_data['value'])
class SubmissionExtResourceAdmin(admin.ModelAdmin):
form = SubmissionExtResourceAdminForm
list_display = ['id', 'submission', 'name', 'display_name', 'value',]
search_fields = ['submission__name', 'value', 'display_name', 'name__slug',]
raw_id_fields = ['submission', ]
admin.site.register(SubmissionExtResource, SubmissionExtResourceAdmin)