datatracker/ietf/nomcom/admin.py
2021-06-10 20:35:50 +00:00

79 lines
3.2 KiB
Python

# Copyright The IETF Trust 2012-2021, All Rights Reserved
# -*- coding: utf-8 -*-
from django.contrib import admin
from ietf.nomcom.models import ( ReminderDates, NomCom, Nomination, Nominee, NomineePosition,
Position, Feedback, FeedbackLastSeen, TopicFeedbackLastSeen,
Volunteer, )
class ReminderDatesAdmin(admin.ModelAdmin):
list_display = ['id', 'date', 'nomcom']
list_filter = ['date', 'nomcom']
admin.site.register(ReminderDates, ReminderDatesAdmin)
class NomComAdmin(admin.ModelAdmin):
list_display = ['id', 'group', 'send_questionnaire', 'reminder_interval', 'initial_text', 'show_nominee_pictures']
list_filter = ['send_questionnaire', 'show_nominee_pictures']
raw_id_fields = ['group']
admin.site.register(NomCom, NomComAdmin)
class NominationAdmin(admin.ModelAdmin):
list_display = ['id', 'position', 'candidate_name', 'candidate_email', 'candidate_phone', 'nominee', 'comments', 'nominator_email', 'user', 'time', 'share_nominator']
list_filter = ['time', 'share_nominator']
raw_id_fields = ['nominee', 'comments', 'user']
admin.site.register(Nomination, NominationAdmin)
class NomineeAdmin(admin.ModelAdmin):
list_display = ('email', 'person', 'duplicated', 'nomcom')
search_fields = ('email__address', 'person__name', )
list_filter = ('nomcom', )
raw_id_fields = ['nominee_position', 'email', 'person', 'duplicated']
admin.site.register(Nominee, NomineeAdmin)
class NomineePositionAdmin(admin.ModelAdmin):
list_display = ['id', 'position', 'nominee', 'state', 'time']
list_filter = ['state', 'position', 'time']
raw_id_fields = ['nominee']
admin.site.register(NomineePosition, NomineePositionAdmin)
class PositionAdmin(admin.ModelAdmin):
list_display = ('name', 'nomcom', 'is_open', 'accepting_nominations', 'accepting_feedback')
list_filter = ['nomcom', 'is_open', 'accepting_nominations', 'accepting_feedback']
raw_id_fields = ['requirement', 'questionnaire']
search_fields = ['name']
admin.site.register(Position, PositionAdmin)
class FeedbackAdmin(admin.ModelAdmin):
def nominee(self, obj):
return ", ".join(n.person.ascii for n in obj.nominees.all())
nominee.admin_order_field = 'nominees__person__ascii' # type: ignore # https://github.com/python/mypy/issues/2087
list_display = ['id', 'nomcom', 'author', 'nominee', 'subject', 'type', 'user', 'time']
list_filter = ['nomcom', 'type', 'time', ]
raw_id_fields = ['positions', 'topics', 'user']
admin.site.register(Feedback, FeedbackAdmin)
class FeedbackLastSeenAdmin(admin.ModelAdmin):
list_display = ['id', 'reviewer', 'nominee', 'time']
list_filter = ['time']
raw_id_fields = ['reviewer', 'nominee']
admin.site.register(FeedbackLastSeen, FeedbackLastSeenAdmin)
class TopicFeedbackLastSeenAdmin(admin.ModelAdmin):
list_display = ['id', 'reviewer', 'topic', 'time']
list_filter = ['topic', 'time']
raw_id_fields = ['reviewer']
admin.site.register(TopicFeedbackLastSeen, TopicFeedbackLastSeenAdmin)
class VolunteerAdmin(admin.ModelAdmin):
list_display = ['nomcom','person','affiliation']
list_filter = ['nomcom']
raw_id_fields = ['person']
admin.site.register(Volunteer, VolunteerAdmin)