diff --git a/app/models/communication/extranet/post.rb b/app/models/communication/extranet/post.rb index a8a1e16cc..b8c6fe37c 100644 --- a/app/models/communication/extranet/post.rb +++ b/app/models/communication/extranet/post.rb @@ -34,9 +34,9 @@ # fk_rails_86cc935add (author_id => university_people.id) # class Communication::Extranet::Post < ApplicationRecord + include Contentful include Sanitizable include WithAccessibility - include WithBlocks include WithFeaturedImage include WithPublication include WithPermalink diff --git a/app/models/communication/website/agenda/category.rb b/app/models/communication/website/agenda/category.rb index 9ab27e26b..e7cb08747 100644 --- a/app/models/communication/website/agenda/category.rb +++ b/app/models/communication/website/agenda/category.rb @@ -34,9 +34,9 @@ # class Communication::Website::Agenda::Category < ApplicationRecord include AsDirectObject + include Contentful include Sanitizable include WithBlobs - include WithBlocks include WithFeaturedImage include WithMenuItemTarget include WithPermalink diff --git a/app/models/communication/website/agenda/event.rb b/app/models/communication/website/agenda/event.rb index 234f53289..d920a9363 100644 --- a/app/models/communication/website/agenda/event.rb +++ b/app/models/communication/website/agenda/event.rb @@ -42,10 +42,10 @@ # class Communication::Website::Agenda::Event < ApplicationRecord include AsDirectObject + include Contentful include Sanitizable include WithAccessibility include WithBlobs - include WithBlocks include WithDuplication include WithFeaturedImage include WithMenuItemTarget @@ -131,7 +131,7 @@ def template_static def dependencies active_storage_blobs + - blocks + + contents_dependencies + [website.config_default_content_security_policy] end diff --git a/app/models/communication/website/page.rb b/app/models/communication/website/page.rb index 6ddca2a2d..19177d764 100644 --- a/app/models/communication/website/page.rb +++ b/app/models/communication/website/page.rb @@ -48,11 +48,11 @@ class Communication::Website::Page < ApplicationRecord self.ignored_columns = %w(path) include AsDirectObject + include Contentful include Sanitizable include WithAccessibility include WithAutomaticMenus include WithBlobs - include WithBlocks include WithDuplication include WithFeaturedImage include WithMenuItemTarget @@ -103,7 +103,7 @@ def template_static end def dependencies - calculated_dependencies = active_storage_blobs + blocks + calculated_dependencies = active_storage_blobs + contents_dependencies calculated_dependencies += [website.config_default_content_security_policy] # children are used only if there is no block to display calculated_dependencies += children unless blocks.published.any? diff --git a/app/models/communication/website/post.rb b/app/models/communication/website/post.rb index 7db99e32f..a28f85d16 100644 --- a/app/models/communication/website/post.rb +++ b/app/models/communication/website/post.rb @@ -40,10 +40,10 @@ # class Communication::Website::Post < ApplicationRecord include AsDirectObject + include Contentful include Sanitizable include WithAccessibility include WithBlobs - include WithBlocks include WithDuplication include WithFeaturedImage include WithMenuItemTarget @@ -118,7 +118,7 @@ def template_static def dependencies active_storage_blobs + - blocks + + contents_dependencies + categories + [author&.author] + [website.config_default_content_security_policy] diff --git a/app/models/communication/website/post/category.rb b/app/models/communication/website/post/category.rb index 1375242ca..b41b7d8a6 100644 --- a/app/models/communication/website/post/category.rb +++ b/app/models/communication/website/post/category.rb @@ -42,9 +42,9 @@ # class Communication::Website::Post::Category < ApplicationRecord include AsDirectObject + include Contentful include Sanitizable include WithBlobs - include WithBlocks include WithFeaturedImage include WithMenuItemTarget include WithPermalink @@ -89,7 +89,7 @@ def template_static def dependencies active_storage_blobs + - blocks + + contents_dependencies + children + [website.config_default_content_security_policy] end diff --git a/app/models/concerns/with_blocks.rb b/app/models/concerns/contentful.rb similarity index 90% rename from app/models/concerns/with_blocks.rb rename to app/models/concerns/contentful.rb index 4788d0812..8478c1fa4 100644 --- a/app/models/concerns/with_blocks.rb +++ b/app/models/concerns/contentful.rb @@ -1,4 +1,4 @@ -module WithBlocks +module Contentful extend ActiveSupport::Concern included do @@ -24,6 +24,10 @@ def contents_full_text @contents_full_text ||= contents.collect(&:full_text).join("\r") end + def contents_dependencies + blocks + headings + end + # Basic rule is: TOC if 2 titles or more def show_toc? headings.many? diff --git a/app/models/education/diploma.rb b/app/models/education/diploma.rb index 9146d6e87..655948b20 100644 --- a/app/models/education/diploma.rb +++ b/app/models/education/diploma.rb @@ -25,8 +25,8 @@ # class Education::Diploma < ApplicationRecord include AsIndirectObject + include Contentful include Sanitizable - include WithBlocks include WithGitFiles include WithPermalink include WithSlug diff --git a/app/models/education/program.rb b/app/models/education/program.rb index 17f16defa..b8e2c446d 100644 --- a/app/models/education/program.rb +++ b/app/models/education/program.rb @@ -53,11 +53,11 @@ class Education::Program < ApplicationRecord include Aboutable include AsIndirectObject + include Contentful include Sanitizable include WithAccessibility include WithAlumni include WithBlobs - include WithBlocks include WithDiploma include WithFeaturedImage include WithGitFiles @@ -146,7 +146,7 @@ def git_path(website) def dependencies active_storage_blobs + - blocks + + contents_dependencies + university_people_through_involvements.map(&:teacher) + university_people_through_role_involvements.map(&:administrator) + [diploma] diff --git a/app/models/research/journal/paper.rb b/app/models/research/journal/paper.rb index ba9aee71e..83946342a 100644 --- a/app/models/research/journal/paper.rb +++ b/app/models/research/journal/paper.rb @@ -47,7 +47,7 @@ class Research::Journal::Paper < ApplicationRecord include AsIndirectObject include Sanitizable include WithBlobs - include WithBlocks + include Contentful include WithCitations include WithGitFiles include WithPermalink @@ -93,7 +93,7 @@ def template_static def dependencies active_storage_blobs + - blocks + + contents_dependencies + people.map(&:researcher) end diff --git a/app/models/university/organization.rb b/app/models/university/organization.rb index 8b805e43a..e05c4178c 100644 --- a/app/models/university/organization.rb +++ b/app/models/university/organization.rb @@ -48,10 +48,10 @@ # class University::Organization < ApplicationRecord include AsIndirectObject + include Contentful include Backlinkable include Sanitizable include WithBlobs - include WithBlocks include WithCountry include WithGeolocation include WithGitFiles diff --git a/app/models/university/person.rb b/app/models/university/person.rb index 755768b88..930ef5a1d 100644 --- a/app/models/university/person.rb +++ b/app/models/university/person.rb @@ -56,9 +56,9 @@ class University::Person < ApplicationRecord include AsIndirectObject include Backlinkable + include Contentful include Sanitizable include WithBlobs - include WithBlocks include WithCountry # WithRoles included before WithEducation because needed for the latter include WithRoles @@ -197,7 +197,7 @@ def git_path(website) end def dependencies - blocks + + contents_dependencies + active_storage_blobs end