source: asadb/groups/admin.py @ fbb362a

space-accessstablestagetest-hooks
Last change on this file since fbb362a was 3107c52, checked in by Alex Dehnert <adehnert@…>, 14 years ago

Add non-publicly-viewable OfficerRoles?

  • Property mode set to 100644
File size: 3.9 KB
Line 
1import groups.models
2from django.contrib import admin
3from reversion.admin import VersionAdmin
4
5class GroupAdmin(VersionAdmin):
6    list_display = (
7        'id',
8        'name',
9        'abbreviation',
10        'activity_category',
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', )
19    list_filter = [
20        'activity_category',
21        'group_class',
22        'group_status',
23        'group_funding',
24    ]
25    date_hierarchy = 'update_date'
26    search_fields = [ 'id', 'name', 'abbreviation', 'officer_email', 'athena_locker', ]
27admin.site.register(groups.models.Group, GroupAdmin)
28
29
30class Admin_GroupNote(VersionAdmin):
31    list_display = (
32        'pk',
33        'author',
34        'timestamp',
35        'acl_read_group',
36        'acl_read_offices',
37        'group',
38    )
39    list_display_links = ('pk', 'timestamp', )
40    list_filter = [
41        'acl_read_group',
42        'acl_read_offices',
43    ]
44    date_hierarchy = 'timestamp'
45    search_fields = [
46        'author',
47        'group__name',
48        'group__abbreviation',
49        'group__officer_email',
50        'group__athena_locker',
51    ]
52admin.site.register(groups.models.GroupNote, Admin_GroupNote)
53
54
55class OfficerRoleAdmin(VersionAdmin):
56    list_display = (
57        'id',
58        'display_name',
59        'slug',
60        'max_count',
61        'require_student',
62        'publicly_visible',
63        'grant_user',
64    )
65    list_display_links = ('id', 'display_name', 'slug', )
66    prepopulated_fields = {"slug": ("display_name",)}
67admin.site.register(groups.models.OfficerRole, OfficerRoleAdmin)
68
69
70class OfficeHolderAdmin(VersionAdmin):
71    list_display = (
72        'id',
73        'person',
74        'role',
75        'group',
76        'start_time', 'end_time',
77    )
78    list_display_links = (
79        'id',
80        'person',
81        'role',
82        'group',
83        'start_time', 'end_time',
84    )
85    search_fields = (
86        'id',
87        'person',
88        'role__display_name', 'role__slug',
89        'group__name', 'group__abbreviation',
90        'start_time', 'end_time',
91    )
92admin.site.register(groups.models.OfficeHolder, OfficeHolderAdmin)
93
94
95class ActivityCategoryAdmin(admin.ModelAdmin):
96    list_display = (
97        'id',
98        'name',
99    )
100    list_display_links = ('id', 'name', )
101admin.site.register(groups.models.ActivityCategory, ActivityCategoryAdmin)
102
103
104class Admin_GroupClass(admin.ModelAdmin):
105    list_display = (
106        'id',
107        'name',
108        'slug',
109        'gets_publicity',
110    )
111    list_display_links = ('id', 'name', 'slug', )
112    list_filter = [ 'gets_publicity', ]
113    prepopulated_fields = {'slug': ('name', )}
114admin.site.register(groups.models.GroupClass, Admin_GroupClass)
115
116
117class Admin_GroupStatus(admin.ModelAdmin):
118    list_display = (
119        'id',
120        'name',
121        'slug',
122        'is_active',
123    )
124    list_display_links = ('id', 'name', 'slug', )
125    list_filter = [ 'is_active', ]
126    prepopulated_fields = {'slug': ('name', )}
127admin.site.register(groups.models.GroupStatus, Admin_GroupStatus)
128
129
130class Admin_GroupFunding(admin.ModelAdmin):
131    list_display = (
132        'id',
133        'name',
134        'slug',
135        'contact_email',
136        'funding_list',
137    )
138    list_display_links = ('id', 'name', 'slug', )
139    prepopulated_fields = {'slug': ('name', )}
140admin.site.register(groups.models.GroupFunding, Admin_GroupFunding)
141
142
143class Admin_AthenaMoiraAccount(admin.ModelAdmin):
144    list_display = (
145        'id',
146        'username',
147        'mit_id',
148        'first_name',
149        'last_name',
150        'account_class',
151        'mutable',
152        'add_date',
153        'del_date',
154        'mod_date',
155    )
156    list_display_links = ( 'id', 'username', )
157    search_fields = ( 'username', 'mit_id', 'first_name', 'last_name', 'account_class', )
158admin.site.register(groups.models.AthenaMoiraAccount, Admin_AthenaMoiraAccount)
Note: See TracBrowser for help on using the repository browser.