blob: 0f89f5b07fcbd546aafadfa4f65710a3082e7ed5 [file] [log] [blame]
showarda5288b42009-07-28 20:06:08 +00001"""Django 1.0 admin interface declarations."""
2
3from django.contrib import admin
4
5from autotest_lib.frontend import settings
6from autotest_lib.frontend.afe import model_logic, models
7
8
9class AtomicGroupAdmin(admin.ModelAdmin):
10 list_display = ('name', 'description', 'max_number_of_machines')
11
12 def queryset(self, request):
13 return models.AtomicGroup.valid_objects
14
15admin.site.register(models.AtomicGroup, AtomicGroupAdmin)
16
17
18class LabelAdmin(admin.ModelAdmin):
19 list_display = ('name', 'kernel_config')
20
21 def queryset(self, request):
22 return models.Label.valid_objects
23
24admin.site.register(models.Label, LabelAdmin)
25
26
27class UserAdmin(admin.ModelAdmin):
28 list_display = ('login', 'access_level')
29 search_fields = ('login',)
30
31admin.site.register(models.User, UserAdmin)
32
33
34class HostAdmin(admin.ModelAdmin):
35 # TODO(showard) - showing platform requires a SQL query for
36 # each row (since labels are many-to-many) - should we remove
37 # it?
38 list_display = ('hostname', 'platform', 'locked', 'status')
39 list_filter = ('labels', 'locked', 'protection')
40 search_fields = ('hostname', 'status')
41 filter_horizontal = ('labels',)
42
43 def queryset(self, request):
44 return models.Host.valid_objects
45
46admin.site.register(models.Host, HostAdmin)
47
48
49class TestAdmin(admin.ModelAdmin):
50 fields = ('name', 'author', 'test_category', 'test_class',
51 'test_time', 'sync_count', 'test_type', 'path',
52 'dependencies', 'experimental', 'run_verify',
53 'description')
54 list_display = ('name', 'test_type', 'description', 'sync_count')
55 search_fields = ('name',)
56 filter_horizontal = ('dependency_labels',)
57
58admin.site.register(models.Test, TestAdmin)
59
60
61class ProfilerAdmin(admin.ModelAdmin):
62 list_display = ('name', 'description')
63 search_fields = ('name',)
64
65admin.site.register(models.Profiler, ProfilerAdmin)
66
67
68class AclGroupAdmin(admin.ModelAdmin):
69 list_display = ('name', 'description')
70 search_fields = ('name',)
71 filter_horizontal = ('users', 'hosts')
72
73admin.site.register(models.AclGroup, AclGroupAdmin)
74
75
76if settings.FULL_ADMIN:
77 class JobAdmin(admin.ModelAdmin):
78 list_display = ('id', 'owner', 'name', 'control_type')
79 filter_horizontal = ('dependency_labels',)
80
81 admin.site.register(models.Job, JobAdmin)
82
83 class IneligibleHostQueueAdmin(admin.ModelAdmin):
84 list_display = ('id', 'job', 'host')
85
86 admin.site.register(models.IneligibleHostQueue, IneligibleHostQueueAdmin)
87
88 class HostQueueEntryAdmin(admin.ModelAdmin):
89 list_display = ('id', 'job', 'host', 'status',
90 'meta_host')
91
92 admin.site.register(models.HostQueueEntry, HostQueueEntryAdmin)
93
94 admin.site.register(models.AbortedHostQueueEntry)