2014-11-13 22:23:16 +01:00
|
|
|
from django.apps import AppConfig
|
2015-01-16 14:18:34 +01:00
|
|
|
from django.db.models.signals import post_migrate
|
2014-11-13 22:23:16 +01:00
|
|
|
|
|
|
|
|
2015-07-01 17:48:41 +02:00
|
|
|
class MotionsAppConfig(AppConfig):
|
2015-03-26 05:36:10 +01:00
|
|
|
name = 'openslides.motions'
|
2014-11-13 22:23:16 +01:00
|
|
|
verbose_name = 'OpenSlides Motion'
|
2015-07-01 17:48:41 +02:00
|
|
|
angular_site_module = True
|
|
|
|
angular_projector_module = True
|
2015-11-23 21:31:15 +01:00
|
|
|
js_files = ['js/motions/base.js', 'js/motions/site.js', 'js/motions/projector.js']
|
2014-11-13 22:23:16 +01:00
|
|
|
|
|
|
|
def ready(self):
|
2015-06-24 22:11:54 +02:00
|
|
|
# Load projector elements.
|
|
|
|
# Do this by just importing all from these files.
|
|
|
|
from . import projector # noqa
|
|
|
|
|
2014-11-13 22:23:16 +01:00
|
|
|
# Import all required stuff.
|
2015-06-29 12:08:15 +02:00
|
|
|
from openslides.core.signals import config_signal
|
2015-01-24 16:35:50 +01:00
|
|
|
from openslides.utils.rest_api import router
|
2014-11-13 22:23:16 +01:00
|
|
|
from .signals import create_builtin_workflows, setup_motion_config
|
2015-07-22 15:23:57 +02:00
|
|
|
from .views import CategoryViewSet, MotionViewSet, MotionPollViewSet, WorkflowViewSet
|
2014-11-13 22:23:16 +01:00
|
|
|
|
|
|
|
# Connect signals.
|
|
|
|
config_signal.connect(setup_motion_config, dispatch_uid='setup_motion_config')
|
2015-01-16 14:18:34 +01:00
|
|
|
post_migrate.connect(create_builtin_workflows, dispatch_uid='motion_create_builtin_workflows')
|
2014-11-13 22:23:16 +01:00
|
|
|
|
2015-01-24 16:35:50 +01:00
|
|
|
# Register viewsets.
|
2015-03-26 05:36:10 +01:00
|
|
|
router.register('motions/category', CategoryViewSet)
|
|
|
|
router.register('motions/motion', MotionViewSet)
|
2015-07-22 15:23:57 +02:00
|
|
|
router.register('motions/motionpoll', MotionPollViewSet)
|
2015-03-26 05:36:10 +01:00
|
|
|
router.register('motions/workflow', WorkflowViewSet)
|