12
12
UserTag ,
13
13
UserTagging ,
14
14
)
15
- from userprofile . models import UserProfile
15
+ from lib . admin_helpers import RecentCourseInstanceListFilter
16
16
17
17
18
18
def instance_url (instance ):
@@ -28,26 +28,18 @@ class CourseAdmin(admin.ModelAdmin):
28
28
search_fields = (
29
29
'name' ,
30
30
'code' ,
31
+ 'url' ,
32
+ )
33
+ list_display_links = (
34
+ 'id' ,
35
+ 'name' ,
31
36
)
32
- list_display_links = ('id' ,)
33
37
list_display = (
34
38
'id' ,
35
39
'name' ,
36
40
'code' ,
37
41
'url' ,
38
42
)
39
- # list_editable = (
40
- # 'name',
41
- # 'code',
42
- # )
43
-
44
- def get_queryset (self ,
45
- request ):
46
- if not request .user .is_superuser :
47
- profile = UserProfile .get_by_request (request )
48
- return CourseInstance .objects .get_teaching (profile )
49
- else :
50
- return self .model .objects .filter ()
51
43
52
44
53
45
class CourseInstanceAdmin (admin .ModelAdmin ):
@@ -71,14 +63,12 @@ class CourseInstanceAdmin(admin.ModelAdmin):
71
63
'starting_time' ,
72
64
'ending_time' ,
73
65
)
66
+ raw_id_fields = ('course' ,)
74
67
75
- def get_queryset (self ,
76
- request ):
77
- if not request .user .is_superuser :
78
- profile = UserProfile .get_by_request (request )
79
- return self .model .objects .where_staff_includes (profile )
80
- else :
81
- return self .model .objects .all ()
68
+ def get_queryset (self , request ):
69
+ if request .user .is_superuser :
70
+ return super ().get_queryset (request )
71
+ return CourseInstance .objects .get_teaching (request .user .userprofile )
82
72
83
73
84
74
class EnrollmentAdmin (admin .ModelAdmin ):
@@ -100,8 +90,14 @@ class EnrollmentAdmin(admin.ModelAdmin):
100
90
'status' ,
101
91
'timestamp' ,
102
92
)
103
- list_filter = ('course_instance' ,)
104
- raw_id_fields = ('user_profile' ,)
93
+ list_filter = (
94
+ RecentCourseInstanceListFilter ,
95
+ )
96
+ raw_id_fields = (
97
+ 'course_instance' ,
98
+ 'selected_group' ,
99
+ 'user_profile' ,
100
+ )
105
101
readonly_fields = ('timestamp' ,)
106
102
107
103
@@ -121,10 +117,11 @@ class CourseModuleAdmin(admin.ModelAdmin):
121
117
instance_url ,
122
118
)
123
119
list_filter = (
124
- 'course_instance' ,
120
+ RecentCourseInstanceListFilter ,
125
121
'opening_time' ,
126
122
'closing_time' ,
127
123
)
124
+ raw_id_fields = ('course_instance' ,)
128
125
129
126
130
127
class LearningObjectCategoryAdmin (admin .ModelAdmin ):
@@ -139,11 +136,14 @@ class LearningObjectCategoryAdmin(admin.ModelAdmin):
139
136
'course_instance' ,
140
137
'name' ,
141
138
)
142
- list_filter = ('course_instance' ,)
139
+ list_filter = (
140
+ RecentCourseInstanceListFilter ,
141
+ )
143
142
ordering = (
144
143
'course_instance' ,
145
144
'id' ,
146
145
)
146
+ raw_id_fields = ('course_instance' ,)
147
147
148
148
149
149
class StudentGroupAdmin (admin .ModelAdmin ):
@@ -157,7 +157,26 @@ class StudentGroupAdmin(admin.ModelAdmin):
157
157
'members__user__last_name' ,
158
158
'members__user__email' ,
159
159
)
160
- raw_id_fields = ('members' ,)
160
+ list_display = (
161
+ 'course_instance' ,
162
+ 'members_string' ,
163
+ 'timestamp' ,
164
+ )
165
+ list_display_links = ('members_string' ,)
166
+ list_filter = (
167
+ RecentCourseInstanceListFilter ,
168
+ )
169
+ raw_id_fields = (
170
+ 'course_instance' ,
171
+ 'members' ,
172
+ )
173
+ readonly_fields = ('timestamp' ,)
174
+
175
+ @admin .display (description = _ ('LABEL_MEMBERS' ))
176
+ def members_string (self , obj ):
177
+ return ", " .join (
178
+ str (p ) for p in obj .members .all ()
179
+ )
161
180
162
181
163
182
class UserTagAdmin (admin .ModelAdmin ):
@@ -167,6 +186,22 @@ class UserTagAdmin(admin.ModelAdmin):
167
186
'course_instance__course__name' ,
168
187
'course_instance__course__code'
169
188
)
189
+ list_display = (
190
+ 'course_instance' ,
191
+ 'name' ,
192
+ 'slug' ,
193
+ 'visible_to_students' ,
194
+ )
195
+ list_display_links = (
196
+ 'name' ,
197
+ 'slug' ,
198
+ )
199
+ list_filter = (
200
+ RecentCourseInstanceListFilter ,
201
+ )
202
+ raw_id_fields = (
203
+ 'course_instance' ,
204
+ )
170
205
171
206
172
207
class UserTaggingAdmin (admin .ModelAdmin ):
@@ -181,7 +216,23 @@ class UserTaggingAdmin(admin.ModelAdmin):
181
216
'user__user__last_name' ,
182
217
'user__user__email' ,
183
218
)
184
- raw_id_fields = ('user' ,)
219
+ list_display = (
220
+ 'course_instance' ,
221
+ 'tag' ,
222
+ 'user' ,
223
+ )
224
+ list_display_links = (
225
+ 'tag' ,
226
+ 'user' ,
227
+ )
228
+ list_filter = (
229
+ RecentCourseInstanceListFilter ,
230
+ )
231
+ raw_id_fields = (
232
+ 'course_instance' ,
233
+ 'tag' ,
234
+ 'user' ,
235
+ )
185
236
186
237
187
238
class CourseHookAdmin (admin .ModelAdmin ):
@@ -191,6 +242,7 @@ class CourseHookAdmin(admin.ModelAdmin):
191
242
'course_instance__course__name' ,
192
243
'course_instance__course__code' ,
193
244
)
245
+ raw_id_fields = ('course_instance' ,)
194
246
195
247
196
248
admin .site .register (Course , CourseAdmin )
0 commit comments