Source code for squaresdb.membership.admin

from django.contrib import admin
from django.http import HttpResponseRedirect
from django.urls import reverse
from django.utils.html import format_html

from reversion.admin import VersionAdmin

import squaresdb.membership.models as member_models

[docs] @admin.register(member_models.SquareLevel) class SquareLevelAdmin(VersionAdmin): fields = ['slug', 'name', 'order'] readonly_fields = fields list_display = fields ordering = ['order', 'slug']
[docs] @admin.register(member_models.PersonStatus) class PersonStatusAdmin(VersionAdmin): fields = ['slug', 'name', 'member'] readonly_fields = fields list_display = fields
[docs] @admin.register(member_models.MITAffil) class MITAffilAdmin(VersionAdmin): fields = ['slug', 'name', 'student'] readonly_fields = fields list_display = fields
[docs] @admin.register(member_models.FeeCategory) class FeeCategoryAdmin(VersionAdmin): fields = ['slug', 'name'] readonly_fields = fields list_display = fields
[docs] @admin.register(member_models.PersonFrequency) class PersonFrequencyAdmin(VersionAdmin): fields = ['slug', 'name', 'order'] readonly_fields = fields list_display = fields ordering = ['order', 'slug']
[docs] @admin.register(member_models.PersonComment) class PersonCommentAdmin(VersionAdmin): fields = ['person', 'body', 'author'] list_display = ['person', 'author', 'timestamp', 'body'] list_display_links = list_display list_filter = ['timestamp'] search_fields = ['person__name', 'person__email']
[docs] class PersonCommentInline(admin.TabularInline): model = member_models.PersonComment fk_name = 'person' extra = 1
[docs] class TSClassMemberPersonInline(admin.TabularInline): model = member_models.TSClassMember fk_name = 'student' verbose_name_plural = 'classes taken' extra = 1 autocomplete_fields = ['student', 'clas']
[docs] class TSClassAssistPersonInline(admin.TabularInline): model = member_models.TSClassAssist fk_name = 'assistant' verbose_name_plural = 'classes helped with (not including as class coordinator)' extra = 1 autocomplete_fields = ['assistant', 'clas']
[docs] @admin.register(member_models.Person) class PersonAdmin(VersionAdmin): actions = ['make_auth_link'] list_display = ['view_link', 'name', 'email', 'level', 'status', 'mit_affil', 'frequency', ] list_display_links = ['name'] list_filter = [ 'level', 'status', 'mit_affil', 'fee_cat', 'frequency', 'classes', 'last_marked_correct' ] search_fields = ['name', 'email'] inlines = [ PersonCommentInline, TSClassMemberPersonInline, TSClassAssistPersonInline, ]
[docs] @admin.register(member_models.PersonAuthLink) class PersonAuthLinkAdmin(VersionAdmin): list_display = [ 'person', 'allowed_ip', 'expire_time', 'create_user', 'create_time', 'create_reason_basic', 'create_reason_detail' ] fields = list_display + ['create_ip', ] readonly_fields = fields
[docs] class TSClassAssistClassInline(admin.TabularInline): model = member_models.TSClassAssist fk_name = 'clas' verbose_name_plural = 'Assistants' extra = 1 autocomplete_fields = ['assistant']
[docs] class TSClassMemberClassInline(admin.TabularInline): model = member_models.TSClassMember fk_name = 'clas' verbose_name_plural = 'Students' extra = 1 autocomplete_fields = ['student']
[docs] @admin.register(member_models.TSClass) class TSClassAdmin(VersionAdmin): list_display = ['label', 'coordinator', 'start_date', 'end_date'] search_fields = ['label', 'coordinator__name'] autocomplete_fields = ['coordinator'] inlines = [ TSClassAssistClassInline, TSClassMemberClassInline, ]
[docs] @admin.register(member_models.TSClassAssist) class TSClassAssistAdmin(VersionAdmin): list_display = ['assistant', 'clas', 'role'] list_display_links = ['assistant', 'clas'] list_filter = ['clas'] search_fields = ['assistant'] autocomplete_fields = ['assistant', 'clas']
[docs] @admin.register(member_models.TSClassMember) class TSClassMemberAdmin(VersionAdmin): list_display = ['student', 'clas', 'pe'] list_display_links = ['student', 'clas'] list_filter = ['pe', 'clas'] search_fields = ['student'] autocomplete_fields = ['student', 'clas']