diff --git a/Gemfile.lock b/Gemfile.lock index 2dc460e488dc3dc424046748a85493d57b61d6ba..6846aec41a5136c63e7561bb256ffde4bd7dd755 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -79,8 +79,8 @@ GEM autoprefixer-rails (10.4.2.0) execjs (~> 2) aws-eventstream (1.2.0) - aws-partitions (1.548.0) - aws-sdk-core (3.125.3) + aws-partitions (1.549.0) + aws-sdk-core (3.125.4) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) @@ -96,8 +96,8 @@ GEM aws-eventstream (~> 1, >= 1.0.2) bcrypt (3.1.16) bindex (0.8.1) - bootsnap (1.9.4) - msgpack (~> 1.0) + bootsnap (1.10.1) + msgpack (~> 1.2) bootstrap (5.1.3) autoprefixer-rails (>= 9.1.0) popper_js (>= 2.9.3, < 3) @@ -126,17 +126,17 @@ GEM countries (4.2.1) i18n_data (~> 0.15.0) sixarm_ruby_unaccent (~> 1.1) - country_select (6.0.0) - countries (~> 4.0) + country_select (6.1.0) + countries (~> 4.2) sort_alphabetical (~> 1.1) crass (1.0.6) curation (1.7) metainspector nokogiri - delayed_job (4.1.9) - activesupport (>= 3.0, < 6.2) - delayed_job_active_record (4.1.6) - activerecord (>= 3.0, < 6.2) + delayed_job (4.1.10) + activesupport (>= 3.0, < 8.0) + delayed_job_active_record (4.1.7) + activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) delayed_job_web (1.4.4) activerecord (> 3.0.0) diff --git a/app/models/research/journal/article.rb b/app/models/research/journal/article.rb index 508ab94d50a59d0da60e5741557dbbf83a95ba29..b7d7c57805090f31aa964ce804bbb02efc33d2a8 100644 --- a/app/models/research/journal/article.rb +++ b/app/models/research/journal/article.rb @@ -35,6 +35,7 @@ # class Research::Journal::Article < ApplicationRecord include WithGit + include WithMedia include WithPosition has_rich_text :text @@ -44,7 +45,7 @@ class Research::Journal::Article < ApplicationRecord belongs_to :journal, foreign_key: :research_journal_id belongs_to :volume, foreign_key: :research_journal_volume_id, optional: true belongs_to :updated_by, class_name: 'User' - has_and_belongs_to_many :researchers, + has_and_belongs_to_many :persons, class_name: 'University::Person', join_table: :research_journal_articles_researchers, association_foreign_key: :researcher_id @@ -61,7 +62,10 @@ class Research::Journal::Article < ApplicationRecord end def git_dependencies(website) - [self] + other_articles_in_the_volume + researchers + researchers.map(&:researcher) + [self] + + other_articles_in_the_volume + + persons + + persons.map(&:researcher) end def to_s @@ -86,6 +90,10 @@ class Research::Journal::Article < ApplicationRecord ).ordered.last end + def blob_ids + [pdf&.blob_id] + end + def set_published_at self.published_at = published? ? Time.zone.now : nil end diff --git a/app/models/university/person/researcher.rb b/app/models/university/person/researcher.rb index 048b79ed9a19e02f51d9af41d50acc422e51fa3a..45e450b4cce3034e65ba5363676967ebc6c648e8 100644 --- a/app/models/university/person/researcher.rb +++ b/app/models/university/person/researcher.rb @@ -38,7 +38,7 @@ class University::Person::Researcher < University::Person def for_website?(website) is_researcher && website.about_journal? && website.research_articles - .joins(:researchers) + .joins(:persons) .where(university_people: { id: id }) .any? end diff --git a/app/views/admin/research/journal/articles/_form.html.erb b/app/views/admin/research/journal/articles/_form.html.erb index c52f9d1e72acc537245adcf6dd9c311b4154e915..51b7b29b7650be80b76e5caac94ba3f27ab541f2 100644 --- a/app/views/admin/research/journal/articles/_form.html.erb +++ b/app/views/admin/research/journal/articles/_form.html.erb @@ -30,7 +30,7 @@ <%= f.input :published %> <%= f.input :published_at, html5: true %> <%= f.input :keywords, as: :text, input_html: { rows: 2 } %> - <%= f.association :researchers, collection: current_university.people.researchers.ordered, as: :check_boxes %> + <%= f.association :persons, collection: current_university.people.researchers.ordered, as: :check_boxes %> </div> </div> </div> diff --git a/app/views/admin/research/journal/articles/show.html.erb b/app/views/admin/research/journal/articles/show.html.erb index dc84c32a4d94365d6e193aad22b0191f7d48a4ff..f9ddcfd81ef0ad1ded56bd9338ae8732286ff92f 100644 --- a/app/views/admin/research/journal/articles/show.html.erb +++ b/app/views/admin/research/journal/articles/show.html.erb @@ -40,11 +40,11 @@ <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('keywords') %></h3> <p><%= @article.keywords %></p> <% end %> - <% if @article.researchers.any? %> + <% if @article.persons.any? %> <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('researchers') %></h3> <ul class="list-unstyled mb-0"> - <% @article.researchers.each do |researcher| %> - <li><%= link_to researcher, admin_research_researcher_path(researcher) %></li> + <% @article.persons.each do |person| %> + <li><%= link_to person, admin_research_researcher_path(person) %></li> <% end %> </ul> <% end %> diff --git a/app/views/admin/research/journal/articles/static.html.erb b/app/views/admin/research/journal/articles/static.html.erb index 345de93af4b3f354d1151a2ecffd6dc3f4b87a58..a6b95c5419c8ab0977c8ef3001ff9892713a4d35 100644 --- a/app/views/admin/research/journal/articles/static.html.erb +++ b/app/views/admin/research/journal/articles/static.html.erb @@ -11,10 +11,10 @@ date: <%= @article.published_at %> UTC keywords: > <%= @article.keywords %> researchers: -<% @article.researchers.each do |researcher| %> -- "<%= researcher.slug %>" +<% @article.persons.each do |person| %> +- "<%= person.slug %>" <% end %> abstract: "<%= @article.abstract %>" references: "<%= @article.references %>" --- -<%= @article.text %> +<%= prepare_html_for_static @article.text, @article.university %> diff --git a/app/views/admin/research/journals/static.html.erb b/app/views/admin/research/journals/static.html.erb index 8c6ebc60c9d5ea3aa98285b1162111573f4b8eeb..4446f650678fbef264896725f818580468522bb5 100644 --- a/app/views/admin/research/journals/static.html.erb +++ b/app/views/admin/research/journals/static.html.erb @@ -1,8 +1,8 @@ --- title: > <%= @journal.title %> -description: > - <%= prepare_text_for_static @journal.description %> issn: > <%= @journal.issn %> +description: > + <%= prepare_text_for_static @journal.description %> --- diff --git a/app/views/admin/research/researchers/index.html.erb b/app/views/admin/research/researchers/index.html.erb index 9fa1cdad6fa20128e4eba1df5e2527fc8351e8e5..2a56d4f11c5db480619868d0527966e5b3de11b6 100644 --- a/app/views/admin/research/researchers/index.html.erb +++ b/app/views/admin/research/researchers/index.html.erb @@ -1,4 +1,4 @@ -<% content_for :title, t('researcher.researchers', count: 2) %> +<% content_for :title, t('research.researchers', count: 2) %> <table class="table"> <thead> diff --git a/config/locales/research/en.yml b/config/locales/research/en.yml index f77d0d0e47837266e3fcb44372e230a1899baab9..2f64c1926cdd4f950c8bba722c92faa9d0bcc5d3 100644 --- a/config/locales/research/en.yml +++ b/config/locales/research/en.yml @@ -24,7 +24,7 @@ en: published: Published? published_at: Published at references: References - researchers: Authors + persons: Authors text: Text title: Title research/journal/volume: diff --git a/config/locales/research/fr.yml b/config/locales/research/fr.yml index 3e0afa1768d4d3ccb1202c07d69daba423cfd6f5..90a1a8d03ed7ee2f6ebe7aac0c047b03de76f63c 100644 --- a/config/locales/research/fr.yml +++ b/config/locales/research/fr.yml @@ -24,7 +24,7 @@ fr: published: Publié ? published_at: Publié le references: Références - researchers: Auteu·rs·rices + persons: Auteu·rs·rices text: Texte title: Titre research/journal/volume: