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

#248

parent b77f0ae1
No related branches found
No related tags found
No related merge requests found
......@@ -7,17 +7,12 @@ class Communication::Block::Template
def git_dependencies
unless @git_dependencies
@git_dependencies = active_storage_blobs
build_git_dependencies
@git_dependencies.uniq!
end
@git_dependencies
end
def active_storage_blobs
[]
end
protected
def build_git_dependencies
......
class Communication::Block::Template::CallToAction < Communication::Block::Template
def build_git_dependencies
# image à déclarer
add_dependency image&.blob
end
def text
......
class Communication::Block::Template::Gallery < Communication::Block::Template
def build_git_dependencies
# Blobs already added in Communication::Block::Template#git_dependencies
add_dependency active_storage_blobs
end
def images_with_alt
......
class Communication::Block::Template::Partner < Communication::Block::Template
def build_git_dependencies
# Blobs already added in Communication::Block::Template#git_dependencies
add_dependency active_storage_blobs
add_dependency organizations
organizations.each do |organization|
add_dependency organization.active_storage_blobs
end
end
def partners
......
class Communication::Block::Template::Testimonial < Communication::Block::Template
def build_git_dependencies
# Blobs already added in Communication::Block::Template#git_dependencies
add_dependency active_storage_blobs
end
def testimonials
......
......@@ -62,6 +62,7 @@ class Communication::Website < ApplicationRecord
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 += about.git_dependencies(website) if about.present?
dependencies
......
......@@ -61,6 +61,10 @@ module Communication::Website::WithDependencies
blocks_dependencies.reject { |dependency| !dependency.is_a? University::Person }
end
def organizations_in_blocks
blocks_dependencies.reject { |dependency| !dependency.is_a? University::Organization }
end
def people_with_facets_in_blocks
blocks_dependencies.reject { |dependency| !dependency.class.to_s.start_with?('University::Person') }
end
......@@ -122,6 +126,10 @@ module Communication::Website::WithDependencies
people_in_blocks.compact.any?
end
def has_organizations_in_blocks?
organizations_in_blocks.compact.any?
end
def has_persons?
has_authors? || has_administrators? || has_researchers? || has_teachers? || has_people_in_blocks?
end
......
......@@ -54,6 +54,15 @@ class University::Organization < ApplicationRecord
government: 30
}
def git_dependencies(website)
dependencies = website.menus.to_a
if for_website?(website)
dependencies << self
dependencies.concat active_storage_blobs
end
dependencies
end
def websites
university.communication_websites
end
......
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