diff --git a/app/models/experiment.rb b/app/models/experiment.rb index 0dca3b772..0e7740469 100644 --- a/app/models/experiment.rb +++ b/app/models/experiment.rb @@ -100,12 +100,6 @@ class Experiment < ApplicationRecord end end - def active_module_groups - my_module_groups.joins(:my_modules) - .where('my_modules.archived = ?', false) - .distinct - end - def active_modules my_modules.where(archived: false) end diff --git a/app/models/my_module_group.rb b/app/models/my_module_group.rb index 37c36adc9..2de05fa71 100644 --- a/app/models/my_module_group.rb +++ b/app/models/my_module_group.rb @@ -10,6 +10,10 @@ class MyModuleGroup < ApplicationRecord optional: true has_many :my_modules, inverse_of: :my_module_group, dependent: :nullify + scope :active, (lambda do + joins(:my_modules).where('my_modules.archived = ?', false).distinct + end) + def deep_clone_to_experiment(current_user, experiment) clone = MyModuleGroup.new( created_by: created_by, diff --git a/app/services/model_exporters/experiment_exporter.rb b/app/services/model_exporters/experiment_exporter.rb index 74476a41a..4874016ed 100644 --- a/app/services/model_exporters/experiment_exporter.rb +++ b/app/services/model_exporters/experiment_exporter.rb @@ -41,8 +41,8 @@ module ModelExporters my_modules = @experiment.my_modules my_module_groups = @experiment.my_module_groups else - my_modules = @experiment.active_my_modules - my_module_groups = @experiment.active_module_groups + my_modules = @experiment.my_modules.active + my_module_groups = @experiment.my_module_groups.active end return { experiment: @experiment,