From e9a8826a1e8ba6bb3ee40704e8f4d0838212e20c Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Wed, 24 Oct 2018 18:49:59 +0200 Subject: [PATCH] Show all experiments and tasks for archived projects [SCI-2785] --- app/services/projects_overview_service.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/services/projects_overview_service.rb b/app/services/projects_overview_service.rb index 49a5756f9..79fbce735 100644 --- a/app/services/projects_overview_service.rb +++ b/app/services/projects_overview_service.rb @@ -99,13 +99,16 @@ class ProjectsOverviewService def fetch_dt_records projects = @team.projects.joins( 'LEFT OUTER JOIN user_projects ON user_projects.project_id = projects.id' - ).joins( - 'LEFT OUTER JOIN experiments ON experiments.project_id = projects.id'\ - ' AND experiments.archived = projects.archived' - ).joins( - 'LEFT OUTER JOIN my_modules ON my_modules.experiment_id = experiments.id'\ - ' AND my_modules.archived = projects.archived' ) + exp_join = + 'LEFT OUTER JOIN experiments ON experiments.project_id = projects.id' + task_join = + 'LEFT OUTER JOIN my_modules ON my_modules.experiment_id = experiments.id' + unless @params[:filter] == 'archived' + exp_join += ' AND experiments.archived = projects.archived' + task_join += ' AND my_modules.archived = projects.archived' + end + projects = projects.joins(exp_join).joins(task_join) # Only admins see all projects of the team unless @user.is_admin_of_team?(@team)