diff --git a/app/models/experiment.rb b/app/models/experiment.rb index 26a488260..e4a2a97b2 100644 --- a/app/models/experiment.rb +++ b/app/models/experiment.rb @@ -308,8 +308,15 @@ class Experiment < ActiveRecord::Base # Clone this experiment to given project def deep_clone_to_project(current_user, project) + # First we have to find unique name for our little experiment + experiment_names = project.experiments.map(&:name) + new_name = name + " - clone " + + i = 1 + i += 1 while experiment_names.include?(new_name + i.to_s) + clone = Experiment.new( - name: name + rand(1..1000).to_s, + name: new_name + i.to_s, description: description, created_by: current_user, last_modified_by: current_user, @@ -327,6 +334,9 @@ class Experiment < ActiveRecord::Base end clone.save + # Create workflow image + clone.delay.generate_workflow_img + clone end diff --git a/config/locales/en.yml b/config/locales/en.yml index a741d32c1..d9f8695bd 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -998,6 +998,7 @@ en: edit_asset_result: "%{user} edited file result %{result}." edit_text_result: "%{user} edited text result %{result}." edit_table_result: "%{user} edited table result %{result}." + clone_experiment: "%{user} cloned %{experiment_new} from %{experiment_original}." user_my_modules: new: