source: asadb/groups/admin.py @ 68c93e8

space-accessstablestage
Last change on this file since 68c93e8 was bc7d506, checked in by Alex Dehnert <adehnert@…>, 14 years ago

Allow filtering OfficeHolders? by role

  • Property mode set to 100644
File size: 4.7 KB
RevLine 
[a559496]1import groups.models
2from django.contrib import admin
[3398d3a]3from reversion.admin import VersionAdmin
[a559496]4
[3398d3a]5class GroupAdmin(VersionAdmin):
[1dc5bb9]6    list_display = (
7        'id',
8        'name',
9        'abbreviation',
[59e8bf3]10        'activity_category',
[1dc5bb9]11        'officer_email',
12        'main_account_id',
13        'funding_account_id',
14        'athena_locker',
15        'update_date',
16        'updater',
17    )
18    list_display_links = ('id', 'name', )
[b713ac7]19    list_filter = [
20        'activity_category',
21        'group_class',
22        'group_status',
23        'group_funding',
24    ]
[bb674c2]25    date_hierarchy = 'update_date'
[9480c7b]26    search_fields = [ 'id', 'name', 'abbreviation', 'officer_email', 'athena_locker', ]
[5eb3da3]27admin.site.register(groups.models.Group, GroupAdmin)
28
[1dc5bb9]29
[7ef7143]30class Admin_GroupConstitution(VersionAdmin):
31    list_display = (
32        'pk',
33        'group',
34        'source_url',
35        'dest_file',
36        'last_update',
37        'last_download',
38        'failure_date',
39    )
40admin.site.register(groups.models.GroupConstitution, Admin_GroupConstitution)
41
42
[2919697]43class Admin_GroupStartup(VersionAdmin):
44    list_display = (
45        'id',
46        'group',
47        'stage',
[ac93a0c]48        'submitter',
[2919697]49        'president_kerberos',
50        'create_officer_list',
51        'create_group_list',
52        'create_athena_locker',
53    )
54    list_display_links = ('id', 'group', )
[ac93a0c]55    search_fields = [ 'group__name', 'group__abbreviation', 'submitter', 'president_kerberos', ]
[2919697]56admin.site.register(groups.models.GroupStartup, Admin_GroupStartup)
57
[0bd161f]58class Admin_GroupNote(VersionAdmin):
59    list_display = (
60        'pk',
61        'author',
62        'timestamp',
63        'acl_read_group',
64        'acl_read_offices',
65        'group',
66    )
67    list_display_links = ('pk', 'timestamp', )
68    list_filter = [
69        'acl_read_group',
70        'acl_read_offices',
71    ]
72    date_hierarchy = 'timestamp'
73    search_fields = [
74        'author',
75        'group__name',
76        'group__abbreviation',
77        'group__officer_email',
78        'group__athena_locker',
79    ]
[5eb3da3]80admin.site.register(groups.models.GroupNote, Admin_GroupNote)
81
[0bd161f]82
[1d85006]83class OfficerRoleAdmin(VersionAdmin):
84    list_display = (
85        'id',
86        'display_name',
87        'slug',
88        'max_count',
[89be44c]89        'require_student',
[3107c52]90        'publicly_visible',
[16b7515]91        'grant_user',
[1d85006]92    )
93    list_display_links = ('id', 'display_name', 'slug', )
94    prepopulated_fields = {"slug": ("display_name",)}
[5eb3da3]95admin.site.register(groups.models.OfficerRole, OfficerRoleAdmin)
96
[1d85006]97
98class OfficeHolderAdmin(VersionAdmin):
99    list_display = (
100        'id',
101        'person',
102        'role',
103        'group',
104        'start_time', 'end_time',
105    )
106    list_display_links = (
107        'id',
108        'person',
109        'role',
110        'group',
111        'start_time', 'end_time',
112    )
113    search_fields = (
114        'id',
115        'person',
116        'role__display_name', 'role__slug',
117        'group__name', 'group__abbreviation',
118        'start_time', 'end_time',
119    )
[bc7d506]120    list_filter = [
121        'role',
122    ]
[5eb3da3]123admin.site.register(groups.models.OfficeHolder, OfficeHolderAdmin)
124
[1d85006]125
[59e8bf3]126class ActivityCategoryAdmin(admin.ModelAdmin):
127    list_display = (
128        'id',
129        'name',
130    )
131    list_display_links = ('id', 'name', )
[5eb3da3]132admin.site.register(groups.models.ActivityCategory, ActivityCategoryAdmin)
133
[a559496]134
[b713ac7]135class Admin_GroupClass(admin.ModelAdmin):
136    list_display = (
137        'id',
138        'name',
139        'slug',
140        'gets_publicity',
141    )
142    list_display_links = ('id', 'name', 'slug', )
143    list_filter = [ 'gets_publicity', ]
144    prepopulated_fields = {'slug': ('name', )}
[5eb3da3]145admin.site.register(groups.models.GroupClass, Admin_GroupClass)
146
[b713ac7]147
148class Admin_GroupStatus(admin.ModelAdmin):
149    list_display = (
150        'id',
151        'name',
152        'slug',
153        'is_active',
154    )
155    list_display_links = ('id', 'name', 'slug', )
156    list_filter = [ 'is_active', ]
157    prepopulated_fields = {'slug': ('name', )}
[5eb3da3]158admin.site.register(groups.models.GroupStatus, Admin_GroupStatus)
159
[b713ac7]160
161class Admin_GroupFunding(admin.ModelAdmin):
162    list_display = (
163        'id',
164        'name',
165        'slug',
166        'contact_email',
167        'funding_list',
168    )
169    list_display_links = ('id', 'name', 'slug', )
170    prepopulated_fields = {'slug': ('name', )}
[5eb3da3]171admin.site.register(groups.models.GroupFunding, Admin_GroupFunding)
[b713ac7]172
173
[d241a05]174class Admin_AthenaMoiraAccount(admin.ModelAdmin):
[7db8f3b]175    list_display = (
176        'id',
177        'username',
178        'mit_id',
179        'first_name',
180        'last_name',
181        'account_class',
182        'mutable',
183        'add_date',
184        'del_date',
185        'mod_date',
186    )
187    list_display_links = ( 'id', 'username', )
188    search_fields = ( 'username', 'mit_id', 'first_name', 'last_name', 'account_class', )
[d241a05]189admin.site.register(groups.models.AthenaMoiraAccount, Admin_AthenaMoiraAccount)
Note: See TracBrowser for help on using the repository browser.