diff --git a/app/models/education/school.rb b/app/models/education/school.rb index 36a5c292448da9ca487da83db31c7ececce57e2f..092cee5da2786100bc3900340c977e379615aa87 100644 --- a/app/models/education/school.rb +++ b/app/models/education/school.rb @@ -26,26 +26,33 @@ class Education::School < ApplicationRecord include WithGit - belongs_to :university - has_many :websites, class_name: 'Communication::Website', as: :about, dependent: :nullify + belongs_to :university + has_many :websites, + class_name: 'Communication::Website', + as: :about, + dependent: :nullify + has_many :university_roles, + class_name: 'University::Role', + as: :target, + dependent: :destroy + has_many :involvements_through_roles, + through: :university_roles, + source: :involvements + has_many :university_people_through_role_involvements, + through: :involvements_through_roles, + source: :person + has_many :university_people_through_program_involvements, + through: :programs, + source: :university_people_through_involvements + has_many :university_people_through_program_role_involvements, + through: :programs, + source: :university_people_through_role_involvements has_and_belongs_to_many :programs, class_name: 'Education::Program', join_table: 'education_programs_schools', foreign_key: 'education_school_id', association_foreign_key: 'education_program_id' - has_many :university_roles, class_name: 'University::Role', as: :target, dependent: :destroy - has_many :involvements_through_roles, through: :university_roles, source: :involvements - has_many :university_people_through_role_involvements, - through: :involvements_through_roles, - source: :person - has_many :university_people_through_program_involvements, - through: :programs, - source: :university_people_through_involvements - has_many :university_people_through_program_role_involvements, - through: :programs, - source: :university_people_through_role_involvements - validates :name, :address, :city, :zipcode, :country, presence: true scope :ordered, -> { order(:name) } diff --git a/app/models/research/laboratory.rb b/app/models/research/laboratory.rb index 490f01747c9d87214a2b9a0f8ca24cb0f576e8ca..8f64eaed5d33baeb0d39a4b50d48606f0ad181d1 100644 --- a/app/models/research/laboratory.rb +++ b/app/models/research/laboratory.rb @@ -24,8 +24,12 @@ class Research::Laboratory < ApplicationRecord include WithGit belongs_to :university + has_many :websites, + class_name: 'Communication::Website', + as: :about, + dependent: :nullify has_many :axes, - class_name: "Research::Laboratory::Axis", + class_name: 'Research::Laboratory::Axis', foreign_key: :research_laboratory_id, dependent: :destroy