From a283d20e28440d86868b338f966d9d624c74db5e Mon Sep 17 00:00:00 2001 From: Niko Vuorinen Date: Wed, 6 Sep 2023 16:27:15 +0300 Subject: [PATCH] Fix plan_unit duplication --- plotsearch/signals.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plotsearch/signals.py b/plotsearch/signals.py index 4a196ba0..99d4ba27 100755 --- a/plotsearch/signals.py +++ b/plotsearch/signals.py @@ -9,12 +9,20 @@ @receiver(pre_save, sender=PlotSearchTarget) def prepare_plan_unit_on_plot_search_target_save(sender, instance, **kwargs): plan_unit = instance.plan_unit + if plan_unit is None: return if plan_unit.is_master: plan_unit.pk = None plan_unit.is_master = False + usage_permissions = plan_unit.usage_distributions.all() plan_unit.save() + + for usage_permission in usage_permissions: + usage_permission.pk = None + usage_permission.plan_unit = plan_unit + usage_permission.save() + instance.plan_unit = plan_unit @@ -23,6 +31,7 @@ def post_delete_plan_unit_on_plot_search_target_delete(sender, instance, **kwarg plan_unit = instance.plan_unit if plan_unit is None: return + plan_unit.usage_distributions.all().delete() plan_unit.delete()