From 5cb8c7ecde7ddb29f90d4ee5962c97aa6c2d3f93 Mon Sep 17 00:00:00 2001 From: Andrej Date: Wed, 24 Sep 2025 15:34:05 +0200 Subject: [PATCH] Fix duplicated activities [SCI-12387] --- .../automation_observers/all_experiments_done_observer.rb | 1 + app/services/automation_observers/all_tasks_done_observer.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/app/services/automation_observers/all_experiments_done_observer.rb b/app/services/automation_observers/all_experiments_done_observer.rb index f27a641c6..09234bc8e 100644 --- a/app/services/automation_observers/all_experiments_done_observer.rb +++ b/app/services/automation_observers/all_experiments_done_observer.rb @@ -7,6 +7,7 @@ module AutomationObservers project = experiment.project + return if project.done? return unless project.experiments.active.exists? return if project.experiments.active.where.not(id: project.experiments.active.done).exists? diff --git a/app/services/automation_observers/all_tasks_done_observer.rb b/app/services/automation_observers/all_tasks_done_observer.rb index 9a8dd8a13..01868819c 100644 --- a/app/services/automation_observers/all_tasks_done_observer.rb +++ b/app/services/automation_observers/all_tasks_done_observer.rb @@ -4,6 +4,7 @@ module AutomationObservers class AllTasksDoneObserver < BaseObserver def self.on_update(my_module, user) return unless Current.team.settings.dig('team_automation_settings', 'experiments', 'experiment_status_done', 'on_all_tasks_done') + return if my_module.experiment.done? return unless my_module.experiment.my_modules.active.exists? return unless my_module.experiment.my_modules.active.joins(:my_module_status).where.not(my_module_status: MyModuleStatusFlow.first.final_status).none?