mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-27 01:05:21 +08:00
fixed models
This commit is contained in:
parent
389ee7ea43
commit
7c9a0bc2bb
7 changed files with 16 additions and 10 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue