diff --git a/openslides/core/static/js/core/projector.js b/openslides/core/static/js/core/projector.js index 4dc3d90ba..00b423e1c 100644 --- a/openslides/core/static/js/core/projector.js +++ b/openslides/core/static/js/core/projector.js @@ -163,30 +163,32 @@ angular.module('OpenSlidesApp.core.projector', ['OpenSlidesApp.core']) $scope.$watch(function () { return Config.lastModified('projector_broadcast'); }, function () { - var bc = Config.get('projector_broadcast').value; - if ($scope.broadcast != bc) { - $scope.broadcast = bc; - if ($scope.broadcastDeregister) { - // revert to original $scope.projector - $scope.broadcastDeregister(); - $scope.broadcastDeregister = null; - setElements($scope.projector); - $scope.blank = $scope.projector.blank; - } - } - if ($scope.broadcast > 0) { - // get elements and blank from broadcast projector - $scope.broadcastDeregister = $scope.$watch(function () { - return Projector.lastModified($scope.broadcast); - }, function () { - if ($scope.broadcast > 0) { - // var broadcast_projector = Projector.get($scope.broadcast); - Projector.find($scope.broadcast).then(function (broadcast_projector) { - setElements(broadcast_projector); - $scope.blank = broadcast_projector.blank; - }); + var bc = Config.get('projector_broadcast'); + if (bc) { + if ($scope.broadcast != bc.value) { + $scope.broadcast = bc.value; + if ($scope.broadcastDeregister) { + // revert to original $scope.projector + $scope.broadcastDeregister(); + $scope.broadcastDeregister = null; + setElements($scope.projector); + $scope.blank = $scope.projector.blank; } - }); + } + if ($scope.broadcast > 0) { + // get elements and blank from broadcast projector + $scope.broadcastDeregister = $scope.$watch(function () { + return Projector.lastModified($scope.broadcast); + }, function () { + if ($scope.broadcast > 0) { + var broadcast_projector = Projector.get($scope.broadcast); + if (broadcast_projector) { + setElements(broadcast_projector); + $scope.blank = broadcast_projector.blank; + } + } + }); + } } }); diff --git a/openslides/utils/autoupdate.py b/openslides/utils/autoupdate.py index d3c86bd58..60d132203 100644 --- a/openslides/utils/autoupdate.py +++ b/openslides/utils/autoupdate.py @@ -143,6 +143,8 @@ def send_data(message): projectors = Projector.objects.all() # Also the broadcasted projector should get his data send_all = True broadcast_projector_data = get_projector_element_data(Projector.objects.get(pk=broadcast_id)) + broadcast_projector_data.append(CollectionElement.from_values( + collection_string=Projector.get_collection_string(), id=broadcast_id).as_autoupdate_for_projector()) else: broadcast_projector_data = None diff --git a/tests/integration/core/test_views.py b/tests/integration/core/test_views.py index 2166c9141..d0255d417 100644 --- a/tests/integration/core/test_views.py +++ b/tests/integration/core/test_views.py @@ -54,7 +54,7 @@ class ProjectorAPI(TestCase): 'error': 'Projector element does not exist.'}}, 'scale': 0, 'scroll': 0, - 'name': 'Defaultprojector', + 'name': 'Default projector', 'blank': False, 'width': 1024, 'height': 768})