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

published in research

parent 25c04eb5
No related branches found
No related tags found
No related merge requests found
......@@ -34,11 +34,11 @@ module Communication::Website::WithDependencies
end
def research_volumes
has_research_volumes? ? about.volumes : Research::Journal::Volume.none
has_research_volumes? ? about.published_volumes : Research::Journal::Volume.none
end
def research_articles
has_research_articles? ? about.articles : Research::Journal::Article.none
has_research_articles? ? about.published_articles : Research::Journal::Article.none
end
def administrators
......
......@@ -27,9 +27,11 @@ class Research::Journal < ApplicationRecord
has_many :websites, class_name: 'Communication::Website', as: :about, dependent: :nullify
has_many :volumes, foreign_key: :research_journal_id, dependent: :destroy
has_many :published_volumes, -> { published }, foreign_key: :research_journal_id, dependent: :destroy
has_many :articles, foreign_key: :research_journal_id, dependent: :destroy
has_many :published_articles, -> { published }, foreign_key: :research_journal_id, dependent: :destroy
has_many :people, -> { distinct }, through: :articles
alias researchers people
has_many :people_through_published_articles, -> { distinct }, through: :published_articles
scope :ordered, -> { order(:title) }
......@@ -37,15 +39,19 @@ class Research::Journal < ApplicationRecord
"#{title}"
end
def researchers
university.people.where(id: people_through_published_articles.pluck(:id), is_researcher: true)
end
def git_path(website)
"data/journal.yml"
end
def git_dependencies(website)
dependencies = [self]
dependencies += articles + articles.map(&:active_storage_blobs).flatten if has_research_articles?
dependencies += volumes + volumes.map(&:active_storage_blobs).flatten if has_research_volumes?
dependencies += people + people.map(&:researcher) + people.map(&:active_storage_blobs).flatten if has_researchers?
dependencies += published_articles + published_articles.map(&:active_storage_blobs).flatten if has_research_articles?
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
end
......@@ -70,10 +76,10 @@ class Research::Journal < ApplicationRecord
end
def has_research_articles?
articles.any?
published_articles.published.any?
end
def has_research_volumes?
volumes.any?
published_volumes.published.any?
end
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