django-orchestra/orchestra/contrib/resources/apps.py

33 lines
1.1 KiB
Python

from django import db
from django.apps import AppConfig
from orchestra.core import administration
from orchestra.utils.db import database_ready
class ResourcesConfig(AppConfig):
name = 'orchestra.contrib.resources'
verbose_name = 'Resources'
def ready(self):
if database_ready():
from .models import create_resource_relation
try:
create_resource_relation()
except db.utils.OperationalError:
# Not ready afterall
pass
from .models import Resource, ResourceData, MonitorData
administration.register(Resource, icon='gauge.png')
administration.register(ResourceData, parent=Resource, icon='monitor.png')
administration.register(MonitorData, parent=Resource, dashboard=False)
from . import signals
def reload_relations(self):
from .admin import insert_resource_inlines
from .models import create_resource_relation
from .serializers import insert_resource_serializers
insert_resource_inlines()
insert_resource_serializers()
create_resource_relation()