Skip to content
Snippets Groups Projects
Unverified Commit 488086f7 authored by Sébastien Gaya's avatar Sébastien Gaya
Browse files

wip rework dependencies

parent f4d5a16d
No related branches found
No related tags found
No related merge requests found
......@@ -70,10 +70,10 @@ class Communication::Website < ApplicationRecord
def git_dependencies(website)
dependencies = [self, config_permalinks, config_base_url] + menus
dependencies += pages + pages.map(&:active_storage_blobs).flatten
dependencies += posts + posts.map(&:active_storage_blobs).flatten if has_communication_posts?
dependencies += people_with_facets + people.map(&:active_storage_blobs).flatten if has_persons?
dependencies += organizations_in_blocks + organizations_in_blocks.map(&:active_storage_blobs).flatten if has_organizations_in_blocks?
dependencies += [categories] if has_communication_categories?
dependencies += posts + posts.map(&:active_storage_blobs).flatten
dependencies += people_with_facets + people.map(&:active_storage_blobs).flatten
dependencies += organizations_in_blocks + organizations_in_blocks.map(&:active_storage_blobs).flatten
dependencies += categories
dependencies += about.git_dependencies(website) if about.present?
dependencies
end
......
......@@ -50,8 +50,12 @@ class Education::Diploma < ApplicationRecord
}
end
def programs_for_website(website)
website.education_programs.where(diploma: self)
end
def published_programs_for_website(website)
website.education_programs.published.where(diploma: self)
programs_for_website(website).published
end
# We need to send the diplomas only to the websites that need them
......@@ -64,10 +68,10 @@ class Education::Diploma < ApplicationRecord
end
def git_dependencies(website)
published_programs = published_programs_for_website(website)
website_programs = programs_for_website(website)
dependencies = [self]
dependencies += published_programs + published_programs.map(&:active_storage_blobs).flatten if published_programs.any?
dependencies += website_programs + website_programs.map(&:active_storage_blobs).flatten
dependencies
end
......
......@@ -65,18 +65,18 @@ class Education::School < ApplicationRecord
def git_dependencies(website)
dependencies = [self]
dependencies += published_programs +
published_programs.map(&:active_storage_blobs).flatten if has_education_programs?
dependencies += diplomas if has_education_diplomas?
dependencies += programs +
programs.map(&:active_storage_blobs).flatten
dependencies += diplomas
dependencies += teachers +
teachers.map(&:teacher) +
teachers.map(&:active_storage_blobs).flatten if has_teachers?
teachers.map(&:active_storage_blobs).flatten
dependencies += researchers +
researchers.map(&:researcher) +
researchers.map(&:active_storage_blobs).flatten if has_researchers?
researchers.map(&:active_storage_blobs).flatten
dependencies += administrators +
administrators.map(&:administrator) +
administrators.map(&:active_storage_blobs).flatten if has_administrators?
administrators.map(&:active_storage_blobs).flatten
dependencies
end
......
......@@ -57,9 +57,9 @@ class Research::Journal < ApplicationRecord
def git_dependencies(website)
dependencies = [self]
dependencies += published_papers + published_papers.map(&:active_storage_blobs).flatten if has_research_papers?
dependencies += published_volumes + published_volumes.map(&:active_storage_blobs).flatten if has_research_volumes?
dependencies += researchers + researchers.map(&:researcher) + researchers.map(&:active_storage_blobs).flatten if has_researchers?
dependencies += papers + papers.map(&:active_storage_blobs).flatten
dependencies += volumes + volumes.map(&:active_storage_blobs).flatten
dependencies += researchers + researchers.map(&:researcher) + researchers.map(&:active_storage_blobs).flatten
dependencies
end
......
......@@ -180,16 +180,10 @@ class University::Person < ApplicationRecord
end
def git_dependencies(website)
dependencies = []
if for_website?(website)
dependencies << self
dependencies.concat active_storage_blobs
dependencies.concat git_block_dependencies
end
dependencies << administrator if administrator.for_website?(website)
dependencies << author if author.for_website?(website)
dependencies << researcher if researcher.for_website?(website)
dependencies << teacher if teacher.for_website?(website)
dependencies = [self]
dependencies += active_storage_blobs
dependencies += git_block_dependencies
dependencies += [administrator, author, researcher, teacher]
dependencies += website.menus.to_a
dependencies += dependencies_through_blocks(website) if in_block_dependencies?(website)
dependencies
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment