From 18eab358c7d26bbbe46d225c0cbc5bb814bc1c64 Mon Sep 17 00:00:00 2001 From: zmagod <zmago_devetak@yahoo.com> Date: Tue, 13 Feb 2018 10:44:50 +0100 Subject: [PATCH 1/4] generate custom repository when user is created [fixes SCI-2020] --- app/utilities/first_time_data_generator.rb | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/app/utilities/first_time_data_generator.rb b/app/utilities/first_time_data_generator.rb index c3a7933d2..36db1aeb5 100644 --- a/app/utilities/first_time_data_generator.rb +++ b/app/utilities/first_time_data_generator.rb @@ -25,6 +25,88 @@ module FirstTimeDataGenerator # Do nothing return unless team + # create custom repository samples + repository = Repository.create( + name: 'Samples', + team: team, + created_by: user + ) + + # create list value column for sample types + repository_column_sample_types = RepositoryColumn.create( + repository: repository, + created_by: user, + data_type: :RepositoryListValue, + name: 'Sample Types' + ) + + # create list value column for sample groups + repository_column_sample_groups = RepositoryColumn.create( + repository: repository, + created_by: user, + data_type: :RepositoryListValue, + name: 'Sample Groups' + ) + + # create few list items for sample types + repository_items_sample_types = [] + ['Potato leaves', 'Tea leaves', 'Potato bug'].each do |name| + item = RepositoryListItem.create( + data: name, + created_by: user, + last_modified_by: user, + repository_column: repository_column_sample_types, + repository: repository + ) + repository_items_sample_types << item + end + + # create few list items for sample groups + repository_items_sample_groups = [] + %i(Fodder Nutrient Seed).each do |name| + item = RepositoryListItem.create( + data: name, + created_by: user, + last_modified_by: user, + repository_column: repository_column_sample_groups, + repository: repository + ) + repository_items_sample_groups << item + end + + # Generate random custom respository sample names and assign sample types + # and groups + repository_sample_name = (0...3).map{65.+(rand(26)).chr}.join << '/' + for i in 1..5 + repository_row = RepositoryRow.create( + repository: repository, + created_by: user, + last_modified_by: user, + name: repository_sample_name + i.to_s + ) + RepositoryListValue.create( + created_by: user, + last_modified_by: user, + repository_list_item: repository_items_sample_types[ + rand(0..(repository_items_sample_types.length - 1)) + ], + repository_cell_attributes: { + repository_row: repository_row, + repository_column: repository_column_sample_types + } + ) + RepositoryListValue.create( + created_by: user, + last_modified_by: user, + repository_list_item: repository_items_sample_groups[ + rand(0..(repository_items_sample_groups.length - 1)) + ], + repository_cell_attributes: { + repository_row: repository_row, + repository_column: repository_column_sample_groups + } + ) + end # Create sample types SampleType.create( name: 'Potato leaves', From 3aa28f6d11c87bb923cd0de42c013c5d60a36070 Mon Sep 17 00:00:00 2001 From: zmagod <zmago_devetak@yahoo.com> Date: Tue, 27 Feb 2018 10:40:52 +0100 Subject: [PATCH 2/4] assign repository row to task --- app/utilities/first_time_data_generator.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/utilities/first_time_data_generator.rb b/app/utilities/first_time_data_generator.rb index 36db1aeb5..7cde9c7e2 100644 --- a/app/utilities/first_time_data_generator.rb +++ b/app/utilities/first_time_data_generator.rb @@ -74,15 +74,17 @@ module FirstTimeDataGenerator repository_items_sample_groups << item end + repository_rows_to_assign = [] # Generate random custom respository sample names and assign sample types # and groups - repository_sample_name = (0...3).map{65.+(rand(26)).chr}.join << '/' - for i in 1..5 + # (0...3).map{65.+(rand(26)).chr}.join << '/' + repository_sample_name = (0...3).map { 65.+(rand(26)).chr }.join << '/' + (1..5).each_with_index do |index| repository_row = RepositoryRow.create( repository: repository, created_by: user, last_modified_by: user, - name: repository_sample_name + i.to_s + name: repository_sample_name + index.to_s ) RepositoryListValue.create( created_by: user, @@ -106,6 +108,7 @@ module FirstTimeDataGenerator repository_column: repository_column_sample_groups } ) + repository_rows_to_assign << repository_row end # Create sample types SampleType.create( @@ -405,6 +408,13 @@ module FirstTimeDataGenerator my_module: mm ) end + repository_rows_to_assign.each do |repository_row| + MyModuleRepositoryRow.create!( + repository_row: repository_row, + my_module: mm, + assigned_by: user + ) + end end # Add comments to modules From 69083685061ba67259ad4b2724c2ced4c1c901da Mon Sep 17 00:00:00 2001 From: zmagod <zmago_devetak@yahoo.com> Date: Tue, 27 Feb 2018 10:43:57 +0100 Subject: [PATCH 3/4] refactor --- app/utilities/first_time_data_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/utilities/first_time_data_generator.rb b/app/utilities/first_time_data_generator.rb index 7cde9c7e2..ebbe40f97 100644 --- a/app/utilities/first_time_data_generator.rb +++ b/app/utilities/first_time_data_generator.rb @@ -79,7 +79,7 @@ module FirstTimeDataGenerator # and groups # (0...3).map{65.+(rand(26)).chr}.join << '/' repository_sample_name = (0...3).map { 65.+(rand(26)).chr }.join << '/' - (1..5).each_with_index do |index| + (1..5).each do |index| repository_row = RepositoryRow.create( repository: repository, created_by: user, From 83ba412c48347c7c268cde5b13d346d5ce9ee2b3 Mon Sep 17 00:00:00 2001 From: zmagod <zmago_devetak@yahoo.com> Date: Thu, 1 Mar 2018 11:51:39 +0100 Subject: [PATCH 4/4] remove unneeded comment --- app/utilities/first_time_data_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/utilities/first_time_data_generator.rb b/app/utilities/first_time_data_generator.rb index ebbe40f97..d569960a3 100644 --- a/app/utilities/first_time_data_generator.rb +++ b/app/utilities/first_time_data_generator.rb @@ -77,7 +77,7 @@ module FirstTimeDataGenerator repository_rows_to_assign = [] # Generate random custom respository sample names and assign sample types # and groups - # (0...3).map{65.+(rand(26)).chr}.join << '/' + repository_sample_name = (0...3).map { 65.+(rand(26)).chr }.join << '/' (1..5).each do |index| repository_row = RepositoryRow.create(