From fa08b861d0105c7bef03894b97d598872d4f06a8 Mon Sep 17 00:00:00 2001 From: zmagod Date: Thu, 18 Aug 2016 10:55:29 +0200 Subject: [PATCH 1/2] fixed experiments archive bug --- app/controllers/experiments_controller.rb | 3 --- app/models/project.rb | 9 ++++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/controllers/experiments_controller.rb b/app/controllers/experiments_controller.rb index c1c854342..dd0428bea 100644 --- a/app/controllers/experiments_controller.rb +++ b/app/controllers/experiments_controller.rb @@ -80,9 +80,6 @@ class ExperimentsController < ApplicationController @experiment.archived = true @experiment.archived_by = current_user @experiment.archived_on = DateTime.now - @experiment.my_modules.each do |my_module| - my_module.archive(current_user) - end if @experiment.save flash[:success] = t('experiments.archive.success_flash', experiment: @experiment.name) diff --git a/app/models/project.rb b/app/models/project.rb index 5c2dd4d33..79d999656 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -149,12 +149,15 @@ class Project < ActiveRecord::Base if role.blank? MyModule.none elsif role == 'owner' - project_my_modules.where(archived: false) + project_my_modules + .joins(:experiment) + .where('experiments.archived=false') else project_my_modules .joins(:user_my_modules) - .where('user_my_modules.user_id IN (?)', user.id) - .where(archived: false) + .joins(:experiment) + .where('experiments.archived=false AND user_my_modules.user_id IN (?)', + user.id) .distinct end end From 4b5be7530ca2e06292c5793d046429977a71fe4c Mon Sep 17 00:00:00 2001 From: zmagod Date: Thu, 18 Aug 2016 11:53:57 +0200 Subject: [PATCH 2/2] fixed task archive --- app/models/project.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/models/project.rb b/app/models/project.rb index 79d999656..6b8a5d09f 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -152,12 +152,15 @@ class Project < ActiveRecord::Base project_my_modules .joins(:experiment) .where('experiments.archived=false') + .where('my_modules.archived=false') + else project_my_modules .joins(:user_my_modules) .joins(:experiment) .where('experiments.archived=false AND user_my_modules.user_id IN (?)', user.id) + .where('my_modules.archived=false') .distinct end end