Пример #1
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from django.db.models.signals import pre_delete, post_save
        from openslides.core.signals import config_signal
        from openslides.utils.rest_api import router
        from .signals import (
            setup_agenda_config,
            listen_to_related_object_post_delete,
            listen_to_related_object_post_save)
        from .views import ItemViewSet

        # Connect signals.
        config_signal.connect(setup_agenda_config, dispatch_uid='setup_agenda_config')
        post_save.connect(
            listen_to_related_object_post_save,
            dispatch_uid='listen_to_related_object_post_save')
        pre_delete.connect(
            listen_to_related_object_post_delete,
            dispatch_uid='listen_to_related_object_post_delete')

        # Register viewsets.
        router.register(self.get_model('Item').get_collection_string(), ItemViewSet)
Пример #2
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from django.db.models.signals import pre_delete, post_save
        from openslides.core.signals import config_signal
        from openslides.utils.rest_api import router
        from .signals import (setup_agenda_config,
                              listen_to_related_object_post_delete,
                              listen_to_related_object_post_save)
        from .views import ItemViewSet

        # Connect signals.
        config_signal.connect(setup_agenda_config,
                              dispatch_uid='setup_agenda_config')
        post_save.connect(listen_to_related_object_post_save,
                          dispatch_uid='listen_to_related_object_post_save')
        pre_delete.connect(listen_to_related_object_post_delete,
                           dispatch_uid='listen_to_related_object_post_delete')

        # Register viewsets.
        router.register(
            self.get_model('Item').get_collection_string(), ItemViewSet)
Пример #3
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from django.db.models import signals
        from openslides.core.signals import config_signal, post_permission_creation
        from openslides.utils.autoupdate import inform_changed_data_receiver
        from openslides.utils.rest_api import router
        from openslides.utils.search import index_add_instance, index_del_instance
        from .signals import delete_django_app_permissions, setup_general_config
        from .views import (
            ChatMessageViewSet,
            ConfigViewSet,
            CustomSlideViewSet,
            ProjectorViewSet,
            TagViewSet,
        )

        # Connect signals.
        config_signal.connect(
            setup_general_config,
            dispatch_uid='setup_general_config')
        post_permission_creation.connect(
            delete_django_app_permissions,
            dispatch_uid='delete_django_app_permissions')

        # Register viewsets.
        router.register('core/projector', ProjectorViewSet)
        router.register('core/chatmessage', ChatMessageViewSet)
        router.register('core/customslide', CustomSlideViewSet)
        router.register('core/tag', TagViewSet)
        router.register('core/config', ConfigViewSet, 'config')

        # Update data when any model of any installed app is saved or deleted.
        # TODO: Test if the m2m_changed signal is also needed.
        signals.post_save.connect(
            inform_changed_data_receiver,
            dispatch_uid='inform_changed_data_receiver')
        signals.post_delete.connect(
            inform_changed_data_receiver,
            dispatch_uid='inform_changed_data_receiver')

        # Update the search when a model is saved or deleted
        signals.post_save.connect(
            index_add_instance,
            dispatch_uid='index_add_instance')
        signals.post_delete.connect(
            index_del_instance,
            dispatch_uid='index_del_instance')
        signals.m2m_changed.connect(
            index_add_instance,
            dispatch_uid='m2m_index_add_instance')
Пример #4
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from django.db.models import signals
        from openslides.core.signals import config_signal, post_permission_creation
        from openslides.utils.autoupdate import inform_changed_data_receiver, inform_deleted_data_receiver
        from openslides.utils.rest_api import router
        from openslides.utils.search import index_add_instance, index_del_instance
        from .signals import delete_django_app_permissions, setup_general_config
        from .views import (
            ChatMessageViewSet,
            ConfigViewSet,
            CustomSlideViewSet,
            ProjectorViewSet,
            TagViewSet,
        )

        # Connect signals.
        config_signal.connect(
            setup_general_config,
            dispatch_uid='setup_general_config')
        post_permission_creation.connect(
            delete_django_app_permissions,
            dispatch_uid='delete_django_app_permissions')

        # Register viewsets.
        router.register(self.get_model('Projector').get_collection_string(), ProjectorViewSet)
        router.register(self.get_model('ChatMessage').get_collection_string(), ChatMessageViewSet)
        router.register(self.get_model('CustomSlide').get_collection_string(), CustomSlideViewSet)
        router.register(self.get_model('Tag').get_collection_string(), TagViewSet)
        router.register(self.get_model('ConfigStore').get_collection_string(), ConfigViewSet, 'config')

        # Update data when any model of any installed app is saved or deleted.
        # TODO: Test if the m2m_changed signal is also needed.
        signals.post_save.connect(
            inform_changed_data_receiver,
            dispatch_uid='inform_changed_data_receiver')
        signals.post_delete.connect(
            inform_deleted_data_receiver,
            dispatch_uid='inform_deleted_data_receiver')

        # Update the search when a model is saved or deleted
        signals.post_save.connect(
            index_add_instance,
            dispatch_uid='index_add_instance')
        signals.post_delete.connect(
            index_del_instance,
            dispatch_uid='index_del_instance')
        signals.m2m_changed.connect(
            index_add_instance,
            dispatch_uid='m2m_index_add_instance')
Пример #5
0
    def test_get_multiple_config_var_error(self):
        config_signal.connect(
            set_simple_config_view_multiple_vars,
            dispatch_uid='set_simple_config_view_multiple_vars_for_testing')

        with self.assertRaisesMessage(
                ConfigError,
                'Too many values for config variable multiple_config_var found.'):
            config.setup_cache()
        config_signal.disconnect(
            set_simple_config_view_multiple_vars,
            dispatch_uid='set_simple_config_view_multiple_vars_for_testing')
Пример #6
0
    def test_get_multiple_config_var_error(self):
        config_signal.connect(
            set_simple_config_view_multiple_vars,
            dispatch_uid='set_simple_config_view_multiple_vars_for_testing')

        with self.assertRaisesMessage(
                ConfigError,
                'Too many values for config variable multiple_config_var found.'
        ):
            config.setup_cache()
        config_signal.disconnect(
            set_simple_config_view_multiple_vars,
            dispatch_uid='set_simple_config_view_multiple_vars_for_testing')
Пример #7
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from openslides.core.signals import config_signal
        from openslides.utils.rest_api import router
        from .signals import setup_assignment_config
        from .views import AssignmentViewSet, AssignmentPollViewSet

        # Connect signals.
        config_signal.connect(setup_assignment_config, dispatch_uid='setup_assignment_config')

        # Register viewsets.
        router.register('assignments/assignment', AssignmentViewSet)
        router.register('assignments/poll', AssignmentPollViewSet)
Пример #8
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from django.db.models.signals import pre_delete
        from openslides.core.signals import config_signal
        from openslides.utils.rest_api import router
        from .signals import setup_agenda_config, listen_to_related_object_delete_signal
        from .views import ItemViewSet

        # Connect signals.
        config_signal.connect(setup_agenda_config, dispatch_uid='setup_agenda_config')
        pre_delete.connect(listen_to_related_object_delete_signal, dispatch_uid='agenda_listen_to_related_object_delete_signal')

        # Register viewsets.
        router.register('agenda/item', ItemViewSet)
Пример #9
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from openslides.core.signals import config_signal
        from openslides.utils.rest_api import router
        from .signals import create_builtin_workflows, setup_motion_config
        from .views import CategoryViewSet, MotionViewSet, MotionPollViewSet, WorkflowViewSet

        # Connect signals.
        config_signal.connect(setup_motion_config, dispatch_uid='setup_motion_config')
        post_migrate.connect(create_builtin_workflows, dispatch_uid='motion_create_builtin_workflows')

        # Register viewsets.
        router.register('motions/category', CategoryViewSet)
        router.register('motions/motion', MotionViewSet)
        router.register('motions/motionpoll', MotionPollViewSet)
        router.register('motions/workflow', WorkflowViewSet)
Пример #10
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from openslides.core.signals import config_signal
        from openslides.utils.rest_api import router
        from .signals import create_builtin_workflows, setup_motion_config
        from .views import CategoryViewSet, MotionViewSet, MotionPollViewSet, WorkflowViewSet

        # Connect signals.
        config_signal.connect(setup_motion_config, dispatch_uid='setup_motion_config')
        post_migrate.connect(create_builtin_workflows, dispatch_uid='motion_create_builtin_workflows')

        # Register viewsets.
        router.register(self.get_model('Category').get_collection_string(), CategoryViewSet)
        router.register(self.get_model('Motion').get_collection_string(), MotionViewSet)
        router.register(self.get_model('Workflow').get_collection_string(), WorkflowViewSet)
        router.register('motions/motionpoll', MotionPollViewSet)
Пример #11
0
    def ready(self):
        # Load projector elements.
        # Do this by just importing all from these files.
        from . import projector  # noqa

        # Import all required stuff.
        from openslides.core.signals import config_signal
        from openslides.utils.rest_api import router
        from .signals import setup_assignment_config
        from .views import AssignmentViewSet, AssignmentPollViewSet

        # Connect signals.
        config_signal.connect(setup_assignment_config,
                              dispatch_uid='setup_assignment_config')

        # Register viewsets.
        router.register(
            self.get_model('Assignment').get_collection_string(),
            AssignmentViewSet)
        router.register('assignments/poll', AssignmentPollViewSet)
Пример #12
0
 def test_get_multiple_config_var_error(self):
     config_signal.connect(set_simple_config_view_multiple_vars, dispatch_uid='set_simple_config_view_multiple_vars_for_testing')
     self.assertRaisesMessage(expected_exception=ConfigError,
                              expected_message='Too many values for config variable multiple_config_var found.',
                              callable_obj=config.setup_cache)
     config_signal.disconnect(set_simple_config_view_multiple_vars, dispatch_uid='set_simple_config_view_multiple_vars_for_testing')