import groups.models from django.contrib import admin from reversion.admin import VersionAdmin class GroupAdmin(VersionAdmin): list_display = ( 'id', 'name', 'abbreviation', 'activity_category', 'officer_email', 'main_account_id', 'funding_account_id', 'athena_locker', 'update_date', 'updater', ) list_display_links = ('id', 'name', ) list_filter = [ 'activity_category', 'group_class', 'group_status', 'group_funding', ] date_hierarchy = 'update_date' search_fields = [ 'id', 'name', 'abbreviation', 'officer_email', 'athena_locker', ] admin.site.register(groups.models.Group, GroupAdmin) class Admin_GroupConstitution(VersionAdmin): list_display = ( 'pk', 'group', 'source_url', 'dest_file', 'last_update', 'last_download', 'failure_date', ) admin.site.register(groups.models.GroupConstitution, Admin_GroupConstitution) class Admin_GroupStartup(VersionAdmin): list_display = ( 'id', 'group', 'stage', 'submitter', 'president_kerberos', 'create_officer_list', 'create_group_list', 'create_athena_locker', ) list_display_links = ('id', 'group', ) search_fields = [ 'group__name', 'group__abbreviation', 'submitter', 'president_kerberos', ] admin.site.register(groups.models.GroupStartup, Admin_GroupStartup) class Admin_GroupNote(VersionAdmin): list_display = ( 'pk', 'author', 'timestamp', 'acl_read_group', 'acl_read_offices', 'group', ) list_display_links = ('pk', 'timestamp', ) list_filter = [ 'acl_read_group', 'acl_read_offices', ] date_hierarchy = 'timestamp' search_fields = [ 'author', 'group__name', 'group__abbreviation', 'group__officer_email', 'group__athena_locker', ] admin.site.register(groups.models.GroupNote, Admin_GroupNote) class OfficerRoleAdmin(VersionAdmin): list_display = ( 'id', 'display_name', 'slug', 'max_count', 'require_student', 'publicly_visible', 'grant_user', ) list_display_links = ('id', 'display_name', 'slug', ) prepopulated_fields = {"slug": ("display_name",)} admin.site.register(groups.models.OfficerRole, OfficerRoleAdmin) class OfficeHolderAdmin(VersionAdmin): list_display = ( 'id', 'person', 'role', 'group', 'start_time', 'end_time', ) list_display_links = ( 'id', 'person', 'role', 'group', 'start_time', 'end_time', ) search_fields = ( 'id', 'person', 'role__display_name', 'role__slug', 'group__name', 'group__abbreviation', 'start_time', 'end_time', ) list_filter = [ 'role', ] admin.site.register(groups.models.OfficeHolder, OfficeHolderAdmin) class ActivityCategoryAdmin(admin.ModelAdmin): list_display = ( 'id', 'name', ) list_display_links = ('id', 'name', ) admin.site.register(groups.models.ActivityCategory, ActivityCategoryAdmin) class Admin_GroupClass(admin.ModelAdmin): list_display = ( 'id', 'name', 'slug', 'gets_publicity', ) list_display_links = ('id', 'name', 'slug', ) list_filter = [ 'gets_publicity', ] prepopulated_fields = {'slug': ('name', )} admin.site.register(groups.models.GroupClass, Admin_GroupClass) class Admin_GroupStatus(admin.ModelAdmin): list_display = ( 'id', 'name', 'slug', 'is_active', ) list_display_links = ('id', 'name', 'slug', ) list_filter = [ 'is_active', ] prepopulated_fields = {'slug': ('name', )} admin.site.register(groups.models.GroupStatus, Admin_GroupStatus) class Admin_GroupFunding(admin.ModelAdmin): list_display = ( 'id', 'name', 'slug', 'contact_email', 'funding_list', ) list_display_links = ('id', 'name', 'slug', ) prepopulated_fields = {'slug': ('name', )} admin.site.register(groups.models.GroupFunding, Admin_GroupFunding) class Admin_AthenaMoiraAccount(admin.ModelAdmin): list_display = ( 'id', 'username', 'mit_id', 'first_name', 'last_name', 'account_class', 'mutable', 'add_date', 'del_date', 'mod_date', ) list_display_links = ( 'id', 'username', ) search_fields = ( 'username', 'mit_id', 'first_name', 'last_name', 'account_class', ) admin.site.register(groups.models.AthenaMoiraAccount, Admin_AthenaMoiraAccount)