From 4b06c0226e09df086899a87925578e94e5591361 Mon Sep 17 00:00:00 2001 From: bkfox Date: Mon, 9 Jul 2018 16:43:58 +0200 Subject: [PATCH] remove later diffusion when a program is disabled --- aircox/management/commands/streamer.py | 1 - aircox/signals.py | 10 ++++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/aircox/management/commands/streamer.py b/aircox/management/commands/streamer.py index e016691..b237371 100755 --- a/aircox/management/commands/streamer.py +++ b/aircox/management/commands/streamer.py @@ -60,7 +60,6 @@ class Monitor: Datetime of the next sync """ - def get_last_log(self, *args, **kwargs): return Log.objects.station(self.station) \ .filter(*args, **kwargs) \ diff --git a/aircox/signals.py b/aircox/signals.py index 72d7ef1..43dbaad 100755 --- a/aircox/signals.py +++ b/aircox/signals.py @@ -22,6 +22,9 @@ import aircox.settings as settings # @receiver(post_save, sender=User) def user_default_groups(sender, instance, created, *args, **kwargs): + """ + Set users to different default groups + """ if not created or instance.is_superuser: return @@ -38,6 +41,13 @@ def user_default_groups(sender, instance, created, *args, **kwargs): group.save() instance.groups.add(group) +@receiver(post_save, sender=models.Program) +def program_post_save(sender, instance, created, *args, **kwargs): + """ + Clean-up later diffusions when a program becomes inactive + """ + if not program.active: + program.diffusion_set.after().delete() @receiver(post_save, sender=models.Schedule) def schedule_post_save(sender, instance, created, *args, **kwargs):