Skip to content

Commit 4dad8cd

Browse files
committed
Added a test to check for missing admin models, and added the admin models that were currently missing.
- Legacy-Id: 14021
1 parent 1b09ce4 commit 4dad8cd

13 files changed

Lines changed: 231 additions & 52 deletions

File tree

ietf/community/admin.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
from __future__ import unicode_literals
3+
from django.contrib import admin
4+
5+
from ietf.community.models import CommunityList, SearchRule, EmailSubscription
6+
7+
class CommunityListAdmin(admin.ModelAdmin):
8+
list_display = [u'id', 'user', 'group']
9+
raw_id_fields = ['user', 'group']
10+
admin.site.register(CommunityList, CommunityListAdmin)
11+
12+
class SearchRuleAdmin(admin.ModelAdmin):
13+
list_display = [u'id', 'community_list', 'rule_type', 'state', 'group', 'person', 'text']
14+
raw_id_fields = ['community_list', 'state', 'group', 'person']
15+
admin.site.register(SearchRule, SearchRuleAdmin)
16+
17+
class EmailSubscriptionAdmin(admin.ModelAdmin):
18+
list_display = [u'id', 'community_list', 'email', 'notify_on']
19+
raw_id_fields = ['community_list', 'email']
20+
admin.site.register(EmailSubscription, EmailSubscriptionAdmin)
21+

ietf/doc/admin.py

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
from django.contrib import admin
44
from django import forms
55

6-
from models import (StateType, State, DocAlias, DocumentAuthor, RelatedDocument,
7-
Document, DocHistory, BallotType, DocEvent, NewRevisionDocEvent, StateDocEvent,
8-
ConsensusDocEvent, BallotDocEvent, WriteupDocEvent, LastCallDocEvent,
9-
TelechatDocEvent, BallotPositionDocEvent)
6+
from models import (StateType, State, RelatedDocument, DocumentAuthor, Document, RelatedDocHistory,
7+
DocHistoryAuthor, DocHistory, DocAlias, DocReminder, DocEvent, NewRevisionDocEvent,
8+
StateDocEvent, ConsensusDocEvent, BallotType, BallotDocEvent, WriteupDocEvent, LastCallDocEvent,
9+
TelechatDocEvent, BallotPositionDocEvent, ReviewRequestDocEvent, InitialReviewDocEvent,
10+
AddedMessageEvent, SubmissionDocEvent, DeletedEvent, EditedAuthorsDocEvent, )
11+
1012

1113
from ietf.doc.utils import get_state_types
1214

@@ -96,6 +98,12 @@ class Meta:
9698
fields = '__all__'
9799
model = Document
98100

101+
class DocumentAuthorAdmin(admin.ModelAdmin):
102+
list_display = ['id', 'document', 'person', 'email', 'affiliation', 'country', 'order']
103+
search_fields = ['document__docalias__name', 'person__name', 'email__address', 'affiliation', 'country']
104+
raw_id_fields = ["document", "person", "email"]
105+
admin.site.register(DocumentAuthor, DocumentAuthorAdmin)
106+
99107
class DocumentAdmin(admin.ModelAdmin):
100108
list_display = ['name', 'rev', 'group', 'pages', 'intended_std_level', 'author_list', 'time']
101109
search_fields = ['name']
@@ -136,13 +144,30 @@ class DocAliasAdmin(admin.ModelAdmin):
136144
raw_id_fields = ['document']
137145
admin.site.register(DocAlias, DocAliasAdmin)
138146

147+
class DocReminderAdmin(admin.ModelAdmin):
148+
list_display = ['id', 'event', 'type', 'due', 'active']
149+
list_filter = ['type', 'due', 'active']
150+
raw_id_fields = ['event']
151+
admin.site.register(DocReminder, DocReminderAdmin)
152+
139153
class RelatedDocumentAdmin(admin.ModelAdmin):
140154
list_display = ['source', 'target', 'relationship', ]
141155
list_filter = ['relationship', ]
142156
search_fields = ['source__name', 'target__name', 'target__document__name', ]
143157
raw_id_fields = ['source', 'target', ]
144158
admin.site.register(RelatedDocument, RelatedDocumentAdmin)
145159

160+
class RelatedDocHistoryAdmin(admin.ModelAdmin):
161+
list_display = ['id', 'source', 'target', 'relationship']
162+
list_filter = ['relationship']
163+
raw_id_fields = ['source', 'target']
164+
admin.site.register(RelatedDocHistory, RelatedDocHistoryAdmin)
165+
166+
class DocHistoryAuthorAdmin(admin.ModelAdmin):
167+
list_display = ['id', 'person', 'email', 'affiliation', 'country', 'order', 'document']
168+
raw_id_fields = ['person', 'email', 'document']
169+
admin.site.register(DocHistoryAuthor, DocHistoryAuthorAdmin)
170+
146171
class BallotTypeAdmin(admin.ModelAdmin):
147172
list_display = ["slug", "doc_type", "name", "question"]
148173
admin.site.register(BallotType, BallotTypeAdmin)
@@ -169,14 +194,20 @@ def short_desc(self, obj):
169194
admin.site.register(WriteupDocEvent, DocEventAdmin)
170195
admin.site.register(LastCallDocEvent, DocEventAdmin)
171196
admin.site.register(TelechatDocEvent, DocEventAdmin)
197+
admin.site.register(ReviewRequestDocEvent, DocEventAdmin)
198+
admin.site.register(InitialReviewDocEvent, DocEventAdmin)
199+
admin.site.register(AddedMessageEvent, DocEventAdmin)
200+
admin.site.register(SubmissionDocEvent, DocEventAdmin)
201+
admin.site.register(EditedAuthorsDocEvent, DocEventAdmin)
202+
203+
204+
class DeletedEventAdmin(admin.ModelAdmin):
205+
list_display = [u'id', 'content_type', 'json', 'by', 'time']
206+
list_filter = ['time']
207+
raw_id_fields = ['content_type', 'by']
208+
admin.site.register(DeletedEvent, DeletedEventAdmin)
172209

173210
class BallotPositionDocEventAdmin(DocEventAdmin):
174211
raw_id_fields = ["doc", "by", "ad", "ballot"]
175212
admin.site.register(BallotPositionDocEvent, BallotPositionDocEventAdmin)
176213

177-
class DocumentAuthorAdmin(admin.ModelAdmin):
178-
list_display = ['id', 'document', 'person', 'email', 'affiliation', 'country', 'order']
179-
search_fields = ['document__docalias__name', 'person__name', 'email__address', 'affiliation', 'country']
180-
raw_id_fields = ["document", "person", "email"]
181-
admin.site.register(DocumentAuthor, DocumentAuthorAdmin)
182-

ietf/group/admin.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
from django.utils.html import escape
1111
from django.utils.translation import ugettext as _
1212

13-
from ietf.group.models import Group, GroupHistory, GroupEvent, GroupURL, GroupMilestone, Role, RoleHistory, ChangeStateGroupEvent
13+
from ietf.group.models import (Group, GroupHistory, GroupEvent, GroupURL, GroupMilestone,
14+
GroupMilestoneHistory, GroupStateTransitions, Role, RoleHistory, ChangeStateGroupEvent,
15+
MilestoneGroupEvent, )
1416

1517
class RoleInline(admin.TabularInline):
1618
model = Role
@@ -108,12 +110,23 @@ class GroupHistoryAdmin(admin.ModelAdmin):
108110

109111
admin.site.register(GroupHistory, GroupHistoryAdmin)
110112

113+
class GroupURLAdmin(admin.ModelAdmin):
114+
list_display = [u'id', 'group', 'name', 'url']
115+
raw_id_fields = ['group']
116+
search_fields = ['name']
117+
admin.site.register(GroupURL, GroupURLAdmin)
118+
111119
class GroupMilestoneAdmin(admin.ModelAdmin):
112120
list_display = ["group", "desc", "due", "resolved", "time"]
113121
search_fields = ["group__name", "group__acronym", "desc", "resolved"]
114122
raw_id_fields = ["group", "docs"]
115-
116123
admin.site.register(GroupMilestone, GroupMilestoneAdmin)
124+
admin.site.register(GroupMilestoneHistory, GroupMilestoneAdmin)
125+
126+
class GroupStateTransitionsAdmin(admin.ModelAdmin):
127+
list_display = [u'id', 'group', 'state']
128+
raw_id_fields = ['group', 'state']
129+
admin.site.register(GroupStateTransitions, GroupStateTransitionsAdmin)
117130

118131
class RoleAdmin(admin.ModelAdmin):
119132
list_display = ["name", "person", "email", "group"]
@@ -136,3 +149,8 @@ class ChangeStateGroupEventAdmin(admin.ModelAdmin):
136149
search_fields = ["group__name", "group__acronym"]
137150
admin.site.register(ChangeStateGroupEvent, ChangeStateGroupEventAdmin)
138151

152+
class MilestoneGroupEventAdmin(admin.ModelAdmin):
153+
list_display = [u'id', 'group', 'time', 'type', 'by', 'desc', 'milestone']
154+
list_filter = ['time']
155+
raw_id_fields = ['group', 'by', 'milestone']
156+
admin.site.register(MilestoneGroupEvent, MilestoneGroupEventAdmin)

ietf/ipr/admin.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from ietf.name.models import DocRelationshipName
55
from ietf.ipr.models import (IprDisclosureBase, IprDocRel, IprEvent,
66
RelatedIpr, HolderIprDisclosure, ThirdPartyIprDisclosure, GenericIprDisclosure,
7-
NonDocSpecificIprDisclosure)
7+
NonDocSpecificIprDisclosure, LegacyMigrationIprEvent)
88

99
# ------------------------------------------------------
1010
# ModelAdmins
@@ -101,3 +101,9 @@ class IprEventAdmin(admin.ModelAdmin):
101101
search_fields = ["disclosure__title", "by__name"]
102102
raw_id_fields = ["disclosure", "by", "message", "in_reply_to"]
103103
admin.site.register(IprEvent, IprEventAdmin)
104+
105+
class LegacyMigrationIprEventAdmin(admin.ModelAdmin):
106+
list_display = [u'id', 'time', 'type', 'by', 'disclosure', 'desc', 'message', 'in_reply_to', 'response_due']
107+
list_filter = ['time', 'type', 'response_due']
108+
raw_id_fields = ['by', 'disclosure', 'message', 'in_reply_to']
109+
admin.site.register(LegacyMigrationIprEvent, LegacyMigrationIprEventAdmin)

ietf/liaisons/admin.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,18 @@ def related_to(self, obj):
2828
return '<br />'.join(['<a href="%s">%s</a>' % (reverse('admin:liaisons_liaisonstatement_change', None, (i.target.id, )), str(i.target)) for i in obj.source_of_set.select_related('target').all()])
2929
related_to.allow_tags = True
3030

31+
class LiaisonStatementAttachmentAdmin(admin.ModelAdmin):
32+
list_display = [u'id', 'statement', 'document', 'removed']
33+
list_filter = ['removed']
34+
raw_id_fields = ['statement', 'document']
35+
admin.site.register(LiaisonStatementAttachment, LiaisonStatementAttachmentAdmin)
36+
37+
class RelatedLiaisonStatementAdmin(admin.ModelAdmin):
38+
list_display = [u'id', 'source', 'target', 'relationship']
39+
list_filter = ['relationship']
40+
raw_id_fields = ['source', 'target']
41+
admin.site.register(RelatedLiaisonStatement, RelatedLiaisonStatementAdmin)
42+
3143
class LiaisonStatementEventAdmin(admin.ModelAdmin):
3244
list_display = ["statement", "type", "by", "time"]
3345
search_fields = ["statement__title", "by__name"]

ietf/message/admin.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from django.contrib import admin
22

3-
from ietf.message.models import Message, SendQueue, AnnouncementFrom
3+
from ietf.message.models import Message, MessageAttachment, SendQueue, AnnouncementFrom
44

55
class MessageAdmin(admin.ModelAdmin):
66
list_display = ["subject", "by", "time", "groups"]
@@ -10,9 +10,13 @@ class MessageAdmin(admin.ModelAdmin):
1010

1111
def groups(self, instance):
1212
return ", ".join(g.acronym for g in instance.related_groups.all())
13-
1413
admin.site.register(Message, MessageAdmin)
1514

15+
class MessageAttachmentAdmin(admin.ModelAdmin):
16+
list_display = ['id', 'message', 'filename', 'removed',]
17+
raw_id_fields = ['message']
18+
admin.site.register(MessageAttachment, MessageAttachmentAdmin)
19+
1620
class SendQueueAdmin(admin.ModelAdmin):
1721
list_display = ["time", "by", "message", "send_at", "sent_at"]
1822
list_filter = ["time", "send_at", "sent_at"]
@@ -24,3 +28,5 @@ class SendQueueAdmin(admin.ModelAdmin):
2428
class AnnouncementFromAdmin(admin.ModelAdmin):
2529
list_display = ['name', 'group', 'address', ]
2630
admin.site.register(AnnouncementFrom, AnnouncementFromAdmin)
31+
32+

ietf/name/admin.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
from django.contrib import admin
22

33
from ietf.name.models import (
4-
BallotPositionName, ConstraintName, ContinentName, CountryName,
5-
DBTemplateTypeName, DocRelationshipName,
6-
DocReminderTypeName, DocTagName, DocTypeName, DraftSubmissionStateName,
4+
BallotPositionName, ConstraintName, ContinentName, CountryName, DBTemplateTypeName,
5+
DocRelationshipName, DocReminderTypeName, DocTagName, DocTypeName, DraftSubmissionStateName,
76
FeedbackTypeName, FormalLanguageName, GroupMilestoneStateName, GroupStateName, GroupTypeName,
8-
ImportantDateName, IntendedStdLevelName, IprDisclosureStateName, IprEventTypeName, IprLicenseTypeName,
9-
LiaisonStatementEventTypeName, LiaisonStatementPurposeName, LiaisonStatementState,
10-
LiaisonStatementTagName, MeetingTypeName, NomineePositionStateName,
7+
ImportantDateName, IntendedStdLevelName, IprDisclosureStateName, IprEventTypeName,
8+
IprLicenseTypeName, LiaisonStatementEventTypeName, LiaisonStatementPurposeName,
9+
LiaisonStatementState, LiaisonStatementTagName, MeetingTypeName, NomineePositionStateName,
1110
ReviewRequestStateName, ReviewResultName, ReviewTypeName, RoleName, RoomResourceName,
12-
SessionStatusName, StdLevelName, StreamName, TimeSlotTypeName, )
11+
SessionStatusName, StdLevelName, StreamName, TimeSlotTypeName, TopicAudienceName, )
1312

1413
from ietf.stats.models import CountryAlias
1514

@@ -75,4 +74,4 @@ class ImportantDateNameAdmin(NameAdmin):
7574
admin.site.register(StdLevelName, NameAdmin)
7675
admin.site.register(StreamName, NameAdmin)
7776
admin.site.register(TimeSlotTypeName, NameAdmin)
78-
77+
admin.site.register(TopicAudienceName, NameAdmin)

ietf/nomcom/admin.py

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,63 @@
11
from django.contrib import admin
22

3-
from ietf.nomcom.models import NomCom, Nomination, Nominee, NomineePosition, \
4-
Position, Feedback
3+
from ietf.nomcom.models import ( ReminderDates, NomCom, Nomination, Nominee, NomineePosition,
4+
Position, Feedback, FeedbackLastSeen, TopicFeedbackLastSeen)
55

66

7-
class NomComAdmin(admin.ModelAdmin):
8-
raw_id_fields = ('group', )
7+
class ReminderDatesAdmin(admin.ModelAdmin):
8+
list_display = ['id', 'date', 'nomcom']
9+
list_filter = ['date', 'nomcom']
10+
admin.site.register(ReminderDates, ReminderDatesAdmin)
911

12+
class NomComAdmin(admin.ModelAdmin):
13+
list_display = ['id', 'group', 'send_questionnaire', 'reminder_interval', 'initial_text', 'show_nominee_pictures']
14+
list_filter = ['send_questionnaire', 'show_nominee_pictures']
15+
raw_id_fields = ['group']
16+
admin.site.register(NomCom, NomComAdmin)
1017

1118
class NominationAdmin(admin.ModelAdmin):
12-
list_display = ('candidate_email', 'nominator_email', 'position')
13-
19+
list_display = ['id', 'position', 'candidate_name', 'candidate_email', 'candidate_phone', 'nominee', 'comments', 'nominator_email', 'user', 'time', 'share_nominator']
20+
list_filter = ['time', 'share_nominator']
21+
raw_id_fields = ['nominee', 'comments', 'user']
22+
admin.site.register(Nomination, NominationAdmin)
1423

1524
class NomineeAdmin(admin.ModelAdmin):
1625
list_display = ('email', 'person', 'duplicated', 'nomcom')
1726
search_fields = ('email__address', 'person__name', )
1827
list_filter = ('nomcom', )
28+
raw_id_fields = ['nominee_position', 'email', 'person', 'duplicated']
29+
admin.site.register(Nominee, NomineeAdmin)
1930

2031
class NomineePositionAdmin(admin.ModelAdmin):
21-
pass
22-
list_display = ('nominee', 'position', 'state')
23-
list_filter = ('state', 'position')
24-
32+
list_display = ['id', 'position', 'nominee', 'state', 'time']
33+
list_filter = ['state', 'position', 'time']
34+
raw_id_fields = ['nominee']
35+
admin.site.register(NomineePosition, NomineePositionAdmin)
2536

2637
class PositionAdmin(admin.ModelAdmin):
2738
list_display = ('name', 'nomcom', 'is_open', 'accepting_nominations', 'accepting_feedback')
28-
list_filter = ('nomcom',)
29-
39+
list_filter = ['nomcom', 'is_open', 'accepting_nominations', 'accepting_feedback']
40+
raw_id_fields = ['requirement', 'questionnaire']
41+
search_fields = ['name']
42+
admin.site.register(Position, PositionAdmin)
3043

3144
class FeedbackAdmin(admin.ModelAdmin):
32-
list_display = ('author', 'type')
33-
list_filter = ('type',)
34-
35-
admin.site.register(NomCom, NomComAdmin)
36-
admin.site.register(Nomination, NominationAdmin)
37-
admin.site.register(Nominee, NomineeAdmin)
38-
admin.site.register(NomineePosition, NomineePositionAdmin)
39-
admin.site.register(Position, PositionAdmin)
45+
list_display = ['id', 'nomcom', 'author', 'subject', 'type', 'user', 'time']
46+
list_filter = ['nomcom', 'type', 'time']
47+
raw_id_fields = ['positions', 'topics', 'user']
4048
admin.site.register(Feedback, FeedbackAdmin)
49+
50+
51+
class FeedbackLastSeenAdmin(admin.ModelAdmin):
52+
list_display = ['id', 'reviewer', 'nominee', 'time']
53+
list_filter = ['time']
54+
raw_id_fields = ['reviewer', 'nominee']
55+
admin.site.register(FeedbackLastSeen, FeedbackLastSeenAdmin)
56+
57+
class TopicFeedbackLastSeenAdmin(admin.ModelAdmin):
58+
list_display = ['id', 'reviewer', 'topic', 'time']
59+
list_filter = ['topic', 'time']
60+
raw_id_fields = ['reviewer']
61+
admin.site.register(TopicFeedbackLastSeen, TopicFeedbackLastSeenAdmin)
62+
63+

ietf/person/admin.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.contrib import admin
22

33

4-
from ietf.person.models import Email, Alias, Person
4+
from ietf.person.models import Email, Alias, Person, PersonHistory
55
from ietf.person.name import name_parts
66

77
class EmailAdmin(admin.ModelAdmin):
@@ -32,3 +32,15 @@ def plain_name(self, obj):
3232
inlines = [ EmailInline, AliasInline, ]
3333
# actions = None
3434
admin.site.register(Person, PersonAdmin)
35+
36+
class PersonHistoryAdmin(admin.ModelAdmin):
37+
def plain_name(self, obj):
38+
prefix, first, middle, last, suffix = name_parts(obj.name)
39+
return "%s %s" % (first, last)
40+
list_display = ['name', 'short', 'plain_name', 'time', 'user', 'person', ]
41+
list_filter = ['time']
42+
raw_id_fields = ['person', 'user']
43+
search_fields = ['name', 'ascii']
44+
admin.site.register(PersonHistory, PersonHistoryAdmin)
45+
46+

ietf/review/admin.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.contrib import admin
22

3-
from ietf.review.models import (ReviewerSettings, UnavailablePeriod, ReviewWish, NextReviewerInTeam,
4-
ReviewRequest, ReviewTeamSettings )
3+
from ietf.review.models import (ReviewerSettings, ReviewSecretarySettings, UnavailablePeriod,
4+
ReviewWish, NextReviewerInTeam, ReviewRequest, ReviewTeamSettings )
55

66
class ReviewerSettingsAdmin(admin.ModelAdmin):
77
def acronym(self, obj):
@@ -14,6 +14,11 @@ def acronym(self, obj):
1414

1515
admin.site.register(ReviewerSettings, ReviewerSettingsAdmin)
1616

17+
class ReviewSecretarySettingsAdmin(admin.ModelAdmin):
18+
list_display = [u'id', 'team', 'person', 'remind_days_before_deadline']
19+
raw_id_fields = ['team', 'person']
20+
admin.site.register(ReviewSecretarySettings, ReviewSecretarySettingsAdmin)
21+
1722
class UnavailablePeriodAdmin(admin.ModelAdmin):
1823
list_display = ["person", "team", "start_date", "end_date", "availability"]
1924
list_display_links = ["person"]

0 commit comments

Comments
 (0)