Fix repository selection in reports [SCI-7167]

This commit is contained in:
Anton 2022-09-13 09:59:11 +02:00
parent f62e4e8509
commit 7d02b9f26d
4 changed files with 11 additions and 10 deletions

View file

@ -1020,7 +1020,7 @@ function reportHandsonTableConverter() {
});
// Project content
reportData.project_content = { experiments: [], repositories: [] };
reportData.project_content = { experiments: [] };
$.each($('.project-contents-container .experiment-element'), function(i, experiment) {
let expCheckbox = $(experiment).find('.report-experiment-checkbox');
if (!expCheckbox.prop('checked') && !expCheckbox.prop('indeterminate')) return;
@ -1034,10 +1034,6 @@ function reportHandsonTableConverter() {
reportData.project_content.experiments.push(experimentData);
});
$.each($('.task-contents-container .repositories-contents .repositories-setting:checked'), function(i, e) {
reportData.project_content.repositories.push(parseInt(e.value, 10));
});
// Settings
reportData.report.settings.template = dropdownSelector.getValues('#templateSelector');
reportData.report.settings.all_tasks = $('.project-contents-container .select-all-my-modules-checkbox')
@ -1048,6 +1044,10 @@ function reportHandsonTableConverter() {
$.each($('.task-contents-container .content-element .task-setting'), function(i, e) {
reportData.report.settings.task[e.value] = e.checked;
});
reportData.report.settings.task.repositories = [];
$.each($('.task-contents-container .repositories-contents .repositories-setting:checked'), function(i, e) {
reportData.report.settings.task.repositories.push(parseInt(e.value, 10));
});
reportData.report.settings.task.result_order = dropdownSelector.getValues('#taskResultsOrder');

View file

@ -109,7 +109,7 @@ class ReportsController < ApplicationController
@project_contents = {
experiments: @report.report_elements.order(:position).experiment.pluck(:experiment_id),
my_modules: @report.report_elements.order(:position).my_module.pluck(:my_module_id),
repositories: @report.report_elements.my_module_repository.distinct(:repository_id).pluck(:repository_id)
repositories: @report.settings.dig(:task, :repositories)
}
render :new
end

View file

@ -53,7 +53,8 @@ class Report < ApplicationRecord
text_results: true,
result_comments: true,
result_order: 'atoz',
activities: true
activities: true,
repositories: []
}
}.freeze

View file

@ -14,9 +14,7 @@ module ReportActions
@element_position = 0
@report = report
@template_values = template_values
@repositories = report.project
.assigned_repositories_and_snapshots
.select { |repository| @content['repositories'].include?(repository.id) }
@repositories = @settings.dig(:task, :repositories)
end
def save_with_content
@ -84,6 +82,8 @@ module ReportActions
my_module_element = save_element!({ 'my_module_id' => my_module.id }, :my_module, experiment_element)
my_module.live_and_snapshot_repositories_list.each do |repository|
next unless @repositories.include?(repository.id)
save_element!(
{ 'my_module_id' => my_module.id, 'repository_id' => repository.id },
:my_module_repository,