Fixed projector broadcast if projector is deleted. Fixed #2646.
This commit is contained in:
parent
577d0bf3cc
commit
28059698c7
@ -204,13 +204,20 @@ class ProjectorViewSet(ModelViewSet):
|
|||||||
result = False
|
result = False
|
||||||
return result
|
return result
|
||||||
|
|
||||||
# Assign all ProjectionDefault objects from this projector to the default projector (pk=1).
|
|
||||||
def destroy(self, *args, **kwargs):
|
def destroy(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
REST API operation for DELETE requests.
|
||||||
|
|
||||||
|
Assigns all ProjectionDefault objects from this projector to the
|
||||||
|
default projector (pk=1). Resets broadcast if set to this projector.
|
||||||
|
"""
|
||||||
projector_instance = self.get_object()
|
projector_instance = self.get_object()
|
||||||
for projection_default in ProjectionDefault.objects.all():
|
for projection_default in ProjectionDefault.objects.all():
|
||||||
if projection_default.projector.id == projector_instance.id:
|
if projection_default.projector.id == projector_instance.id:
|
||||||
projection_default.projector_id = 1
|
projection_default.projector_id = 1
|
||||||
projection_default.save()
|
projection_default.save()
|
||||||
|
if config['projector_broadcast'] == projector_instance.pk:
|
||||||
|
config['projector_broadcast'] = 0
|
||||||
return super(ProjectorViewSet, self).destroy(*args, **kwargs)
|
return super(ProjectorViewSet, self).destroy(*args, **kwargs)
|
||||||
|
|
||||||
@detail_route(methods=['post'])
|
@detail_route(methods=['post'])
|
||||||
|
Loading…
Reference in New Issue
Block a user