fixed models

This commit is contained in:
zmagod 2016-07-22 15:36:48 +02:00
parent 389ee7ea43
commit 7c9a0bc2bb
7 changed files with 16 additions and 10 deletions

View file

@ -22,9 +22,4 @@ class Experiment < ActiveRecord::Base
experiment.validates :archived_by, presence: true
experiment.validates :archived_on, presence: true
end
def modules_without_group
MyModule.where(experiment_id: id).where(my_module_group: nil)
.where(archived: false)
end
end

View file

@ -311,6 +311,10 @@ class MyModule < ActiveRecord::Base
project.log(final)
end
# Check if the model has a group
def self.without_group(exp)
where(my_module_group: nil, archived: false, experiment_id: exp.id)
end
private
def create_blank_protocol

View file

@ -29,7 +29,8 @@ class MyModuleGroup < ActiveRecord::Base
new_query = MyModuleGroup
.distinct
.where("my_module_groups.project_id IN (?)", project_ids)
.joins(:experiment)
.where("experiment.project_id IN (?)", project_ids)
.where_attributes_like(:name, a_query)
# Show all results if needed

View file

@ -257,7 +257,7 @@ class Organization < ActiveRecord::Base
projects.includes(
my_modules: { protocols: { steps: :assets }, results: { result_asset: :asset } }
).find_each do |project|
project.my_modules.find_each do |my_module|
project.project_my_modules.find_each do |my_module|
my_module.protocol.steps.find_each do |step|
step.assets.find_each { |asset| st += asset.estimated_size }
end

View file

@ -117,6 +117,12 @@ class Project < ActiveRecord::Base
.where("users.id NOT IN (?)", UserProject.where(project: self).select(:id).distinct)
end
def modules_without_group
self.experiments.map do |exp|
MyModule.where(experiment_id: exp.id).where(my_module_group: nil).where(archived: false)
end
end
def assigned_modules(user)
role = self.user_role(user)
if role.blank?
@ -140,7 +146,7 @@ class Project < ActiveRecord::Base
end
def active_module_groups
self.experiments.each do |exp|
experiments.map do |exp|
exp.my_module_groups.joins(:my_modules)
.where('my_modules.archived = ?', false)
.distinct

View file

@ -124,7 +124,7 @@ class Step < ActiveRecord::Base
if (protocol.my_module.present?) then
Activity.create(
type_of: :destroy_step,
project: protocol.my_module.project,
project: protocol.my_module.experiment.project,
my_module: protocol.my_module,
user: @current_user,
message: I18n.t(

View file

@ -17,7 +17,7 @@ class UserProject < ActiveRecord::Base
def destroy_associations
# Destroy the user from all project's modules
project.my_modules.each do |my_module|
project.project_my_modules.each do |my_module|
um2 = (my_module.user_my_modules.select { |um| um.user == self.user }).first
if um2.present?
um2.destroy