-
Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathadmin.py
78 lines (67 loc) · 1.85 KB
/
admin.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
from django.contrib import admin
from external_services.models import LTIService, LTI1p3Service, LinkService, MenuItem
from lib.admin_helpers import RecentCourseInstanceListFilter
class LinkServiceAdmin(admin.ModelAdmin):
search_fields = (
'url',
'menu_label',
)
list_display_links = (
'id',
'menu_label',
)
list_display = (
'id',
'menu_label',
'url',
'destination_region',
'content_type',
'enabled',
'privacy_notice_url',
)
list_filter = (
'enabled',
)
readonly_fields = ('content_type',)
class LTIServiceAdmin(LinkServiceAdmin):
search_fields = LinkServiceAdmin.search_fields + ('consumer_key',)
list_display = LinkServiceAdmin.list_display + ('access_settings',)
class LTI1p3ServiceAdmin(LinkServiceAdmin):
search_fields = LinkServiceAdmin.search_fields + ('login_url',)
list_display = LinkServiceAdmin.list_display + ('client_id',)
class MenuItemAdmin(admin.ModelAdmin):
search_fields = (
'course_instance__instance_name',
'course_instance__course__code',
'course_instance__course__name',
'menu_url',
'menu_label',
'service__menu_label',
'service__url',
)
list_display_links = (
'id',
'menu_label',
)
list_display = (
'id',
'course_instance',
'service',
'menu_url',
'menu_label',
'access',
'enabled',
)
list_filter = (
'enabled',
'service',
RecentCourseInstanceListFilter,
)
raw_id_fields = (
'course_instance',
'service',
)
admin.site.register(LTIService, LTIServiceAdmin)
admin.site.register(LTI1p3Service, LTI1p3ServiceAdmin)
admin.site.register(LinkService, LinkServiceAdmin)
admin.site.register(MenuItem, MenuItemAdmin)