admin.py
1 from django.contrib import admin 2 from polymorphic.admin import (PolymorphicChildModelAdmin, 3 PolymorphicParentModelAdmin) 4 5 from .alert import AlertPlugin, AlertPluginUserData 6 from .models import (AlertAcknowledgement, Instance, JenkinsConfig, Service, 7 ServiceStatusSnapshot, Shift, StatusCheck, 8 StatusCheckResult, UserProfile) 9 10 11 class StatusCheckAdmin(PolymorphicParentModelAdmin): 12 base_model = StatusCheck 13 child_models = StatusCheck.__subclasses__() 14 15 16 class ChildStatusCheckAdmin(PolymorphicChildModelAdmin): 17 base_model = StatusCheck 18 19 20 for child_status_check in StatusCheck.__subclasses__(): 21 admin.site.register(child_status_check, ChildStatusCheckAdmin) 22 23 admin.site.register(UserProfile) 24 admin.site.register(Shift) 25 admin.site.register(Service) 26 admin.site.register(ServiceStatusSnapshot) 27 admin.site.register(StatusCheck, StatusCheckAdmin) 28 admin.site.register(StatusCheckResult) 29 admin.site.register(Instance) 30 admin.site.register(AlertPlugin) 31 admin.site.register(AlertPluginUserData) 32 admin.site.register(AlertAcknowledgement) 33 admin.site.register(JenkinsConfig)