-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadmin.py
70 lines (58 loc) · 2.32 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
from bbconfig.models import *
from django.contrib import admin
#class PropertyAdmin(admin.ModelAdmin):
# list_display = ('name', 'value')
# list_filter = ['project', 'builder', 'scheduler']
class PropertyBuilderInline(admin.TabularInline):
model = Property
extra = 3
exclude = ['project', 'scheduler']
class CategoryAdmin(admin.ModelAdmin):
pass
def enable(modeladmin, request, queryset):
queryset.update(disabled=0)
enable.short_description = "Enable selected entries."
def disable(modeladmin, request, queryset):
queryset.update(disabled=1)
disable.short_description = "Disable selected entries."
class BuilderAdmin(admin.ModelAdmin):
list_display = ('builder_name', 'disabled', 'project', 'category')
list_filter = ['project', 'category']
inlines = [PropertyBuilderInline]
actions = [enable, disable]
class CommandAdmin(admin.ModelAdmin):
list_display = ('__unicode__', 'sequence', 'name', 'type', 'work_dir', 'command')
list_filter = ['project', 'category']
fields = ['project', 'category', 'sequence', 'name', 'type', 'work_dir', 'rcs_mode', 'rcs_url', 'command', 'warnOnFail', 'flunkOnFail', 'haltOnFail', 'alwaysRun', 'timeout', 'description', 'descriptionDone']
# For Django 1.4, when all ordering fields are used
#ordering = ['project', 'category', 'sequence']
ordering = ['sequence']
save_as = True
class HostAdmin(admin.ModelAdmin):
list_display = ('hostname', 'description')
list_filter = ['builder__project']
filter_horizontal = ('builder',)
class PropertySchedulerInline(admin.TabularInline):
model = Property
extra = 3
exclude = ['project', 'builder']
class SchedulerAdmin(admin.ModelAdmin):
list_display = ('name', 'type', 'disabled')
list_filter = ['project']
filter_horizontal = ('builderNames','categories',)
inlines = [PropertySchedulerInline]
actions = [enable, disable]
class PropertyProjectInline(admin.TabularInline):
model = Property
extra = 3
exclude = ['builder', 'scheduler']
class ProjectAdmin(admin.ModelAdmin):
list_display = ('name', 'ldap_group', 'url')
inlines = [PropertyProjectInline]
#admin.site.register(Property, PropertyAdmin)
admin.site.register(Category, CategoryAdmin)
admin.site.register(Project, ProjectAdmin)
admin.site.register(Builder, BuilderAdmin)
admin.site.register(Command, CommandAdmin)
admin.site.register(Host, HostAdmin)
admin.site.register(Scheduler, SchedulerAdmin)