# [+Project:+] DMPonline v4 # [+Description:+] # This class keeps the information organisations enter to support users when answering questions. # It always belongs to a guidance group class and it can be linked directly to a question or through one or more themes # [+Created:+] 07/07/2014 # [+Copyright:+] Digital Curation Centre class Guidance < ActiveRecord::Base #associations between tables attr_accessible :text, :question_id, :published, :as => [:default, :admin] attr_accessible :guidance_group_ids, :as => [:default, :admin] attr_accessible :theme_ids, :as => [:default, :admin] belongs_to :question #belongs_to :dmptemplate #belongs_to :theme has_and_belongs_to_many :guidance_groups, join_table: "guidance_in_group" has_and_belongs_to_many :themes, join_table: "themes_in_guidance" accepts_nested_attributes_for :themes accepts_nested_attributes_for :guidance_groups #verifies if one guidance belongs to a org def in_group_belonging_to?(organisation_id) guidance_groups.each do |guidance_group| if guidance_group.organisation_id == organisation_id then return true end end return false end #all guidance that belong to an organisation def self.by_organisation(org_id) all_guidance = Guidance.all org_guidance = Array.new all_guidance.each do |guidance| if guidance.in_group_belonging_to?(org_id) then org_guidance << guidance end end return org_guidance end def get_guidance_group_templates? (guidance_group) templates = guidancegroups.where("guidance_group_id (?)", guidance_group.id).template return templates end end