From 7cc5e8c195796732066fe8fc91b5d6cfb15aad44 Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Tue, 2 Aug 2022 17:56:19 +0200 Subject: [PATCH] Fix #505 --- Gemfile.lock | 6 +- .../research/journals/articles_controller.rb | 66 --------------- .../research/journals/papers_controller.rb | 66 +++++++++++++++ .../research/journals/volumes_controller.rb | 2 +- .../admin/research/journals_controller.rb | 2 +- app/models/ability.rb | 4 +- app/models/communication/website/menu/item.rb | 10 +-- .../website/menu/item/with_targets.rb | 8 +- .../communication/website/page/with_kind.rb | 4 +- .../website/with_dependencies.rb | 8 +- .../communication/website/with_menu_items.rb | 8 +- .../website/with_special_pages.rb | 2 +- app/models/concerns/aboutable.rb | 2 +- app/models/education/program.rb | 2 +- app/models/education/school.rb | 2 +- app/models/research/journal.rb | 18 ++-- .../research/journal/{article.rb => paper.rb} | 25 +++--- app/models/research/journal/volume.rb | 6 +- app/models/research/laboratory.rb | 2 +- app/models/university/person.rb | 8 +- .../configs/permalinks/static.html.erb | 2 +- .../websites/menus/items/_form.html.erb | 4 +- .../websites/menus/items/kind_switch.js.erb | 8 +- .../research/journals/articles/_list.html.erb | 33 -------- .../research/journals/articles/edit.html.erb | 3 - .../research/journals/articles/index.html.erb | 7 -- .../research/journals/articles/new.html.erb | 3 - .../research/journals/articles/show.html.erb | 84 ------------------- .../admin/research/journals/index.html.erb | 4 +- .../{articles => papers}/_form.html.erb | 6 +- .../research/journals/papers/_list.html.erb | 33 ++++++++ .../research/journals/papers/edit.html.erb | 3 + .../research/journals/papers/index.html.erb | 7 ++ .../research/journals/papers/new.html.erb | 3 + .../research/journals/papers/show.html.erb | 84 +++++++++++++++++++ .../{articles => papers}/static.html.erb | 0 .../admin/research/journals/show.html.erb | 9 +- .../research/journals/volumes/show.html.erb | 30 +++---- .../admin/research/researchers/index.html.erb | 4 +- .../admin/research/researchers/show.html.erb | 10 +-- config/locales/communication/en.yml | 14 ++-- config/locales/communication/fr.yml | 14 ++-- config/locales/research/en.yml | 14 ++-- config/locales/research/fr.yml | 14 ++-- config/locales/university/en.yml | 4 +- config/locales/university/fr.yml | 4 +- config/routes/admin/research.rb | 2 +- ...me_research_articles_to_research_papers.rb | 7 ++ db/schema.rb | 32 +++---- 49 files changed, 350 insertions(+), 343 deletions(-) delete mode 100644 app/controllers/admin/research/journals/articles_controller.rb create mode 100644 app/controllers/admin/research/journals/papers_controller.rb rename app/models/research/journal/{article.rb => paper.rb} (74%) delete mode 100644 app/views/admin/research/journals/articles/_list.html.erb delete mode 100644 app/views/admin/research/journals/articles/edit.html.erb delete mode 100644 app/views/admin/research/journals/articles/index.html.erb delete mode 100644 app/views/admin/research/journals/articles/new.html.erb delete mode 100644 app/views/admin/research/journals/articles/show.html.erb rename app/views/admin/research/journals/{articles => papers}/_form.html.erb (90%) create mode 100644 app/views/admin/research/journals/papers/_list.html.erb create mode 100644 app/views/admin/research/journals/papers/edit.html.erb create mode 100644 app/views/admin/research/journals/papers/index.html.erb create mode 100644 app/views/admin/research/journals/papers/new.html.erb create mode 100644 app/views/admin/research/journals/papers/show.html.erb rename app/views/admin/research/journals/{articles => papers}/static.html.erb (100%) create mode 100644 db/migrate/20220802151713_rename_research_articles_to_research_papers.rb diff --git a/Gemfile.lock b/Gemfile.lock index 6eab0f05d..de189936a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -89,7 +89,7 @@ GEM autoprefixer-rails (10.4.7.0) execjs (~> 2) aws-eventstream (1.2.0) - aws-partitions (1.612.0) + aws-partitions (1.613.0) aws-sdk-core (3.131.5) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) @@ -314,7 +314,7 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) - octokit (5.1.0) + octokit (5.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) omniauth (2.1.0) @@ -466,7 +466,7 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0) - webmock (3.14.0) + webmock (3.16.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) diff --git a/app/controllers/admin/research/journals/articles_controller.rb b/app/controllers/admin/research/journals/articles_controller.rb deleted file mode 100644 index 50fe4b3bb..000000000 --- a/app/controllers/admin/research/journals/articles_controller.rb +++ /dev/null @@ -1,66 +0,0 @@ -class Admin::Research::Journals::ArticlesController < Admin::Research::Journals::ApplicationController - load_and_authorize_resource class: Research::Journal::Article, through: :journal - - include Admin::Reorderable - - def index - breadcrumb - end - - def show - breadcrumb - end - - def new - breadcrumb - end - - def edit - breadcrumb - add_breadcrumb t('edit') - end - - def create - @article.assign_attributes( - journal: @journal, - university: current_university, - updated_by: current_user - ) - if @article.save_and_sync - redirect_to admin_research_journal_article_path(@article), notice: t('admin.successfully_created_html', model: @article.to_s) - else - breadcrumb - render :new, status: :unprocessable_entity - end - end - - def update - @article.updated_by = current_user - if @article.update_and_sync(article_params) - redirect_to admin_research_journal_article_path(@article), notice: t('admin.successfully_updated_html', model: @article.to_s) - else - breadcrumb - add_breadcrumb t('edit') - render :edit, status: :unprocessable_entity - end - end - - def destroy - @article.destroy_and_sync - redirect_to admin_research_journal_path(@journal), notice: t('admin.successfully_destroyed_html', model: @article.to_s) - end - - private - - def breadcrumb - super - add_breadcrumb Research::Journal::Article.model_name.human(count: 2), admin_research_journal_articles_path - breadcrumb_for @article - end - - def article_params - params.require(:research_journal_article) - .permit(:title, :slug, :text, :published, :published_at, :abstract, :description, :pdf, :references, :keywords, :research_journal_volume_id, person_ids: []) - .merge(university_id: current_university.id) - end -end diff --git a/app/controllers/admin/research/journals/papers_controller.rb b/app/controllers/admin/research/journals/papers_controller.rb new file mode 100644 index 000000000..205c59c45 --- /dev/null +++ b/app/controllers/admin/research/journals/papers_controller.rb @@ -0,0 +1,66 @@ +class Admin::Research::Journals::PapersController < Admin::Research::Journals::ApplicationController + load_and_authorize_resource class: Research::Journal::Paper, through: :journal + + include Admin::Reorderable + + def index + breadcrumb + end + + def show + breadcrumb + end + + def new + breadcrumb + end + + def edit + breadcrumb + add_breadcrumb t('edit') + end + + def create + @paper.assign_attributes( + journal: @journal, + university: current_university, + updated_by: current_user + ) + if @paper.save_and_sync + redirect_to admin_research_journal_paper_path(@paper), notice: t('admin.successfully_created_html', model: @paper.to_s) + else + breadcrumb + render :new, status: :unprocessable_entity + end + end + + def update + @paper.updated_by = current_user + if @paper.update_and_sync(paper_params) + redirect_to admin_research_journal_paper_path(@paper), notice: t('admin.successfully_updated_html', model: @paper.to_s) + else + breadcrumb + add_breadcrumb t('edit') + render :edit, status: :unprocessable_entity + end + end + + def destroy + @paper.destroy_and_sync + redirect_to admin_research_journal_path(@journal), notice: t('admin.successfully_destroyed_html', model: @paper.to_s) + end + + private + + def breadcrumb + super + add_breadcrumb Research::Journal::Paper.model_name.human(count: 2), admin_research_journal_papers_path + breadcrumb_for @paper + end + + def paper_params + params.require(:research_journal_paper) + .permit(:title, :slug, :text, :published, :published_at, :abstract, :description, :pdf, :references, :keywords, :research_journal_volume_id, person_ids: []) + .merge(university_id: current_university.id) + end +end diff --git a/app/controllers/admin/research/journals/volumes_controller.rb b/app/controllers/admin/research/journals/volumes_controller.rb index 3805ef140..069b4d1e1 100644 --- a/app/controllers/admin/research/journals/volumes_controller.rb +++ b/app/controllers/admin/research/journals/volumes_controller.rb @@ -7,7 +7,7 @@ class Admin::Research::Journals::VolumesController < Admin::Research::Journals:: end def show - @articles = @volume.articles.ordered + @papers = @volume.papers.ordered breadcrumb end diff --git a/app/controllers/admin/research/journals_controller.rb b/app/controllers/admin/research/journals_controller.rb index 0fb198f42..070827385 100644 --- a/app/controllers/admin/research/journals_controller.rb +++ b/app/controllers/admin/research/journals_controller.rb @@ -12,7 +12,7 @@ class Admin::Research::JournalsController < Admin::Research::ApplicationControll end def show - @articles = @journal.articles.order(published_at: :desc, created_at: :desc).limit(10) + @papers = @journal.papers.ordered.limit(10) breadcrumb end diff --git a/app/models/ability.rb b/app/models/ability.rb index 2c9f5c0ab..63debd8be 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -24,7 +24,7 @@ class Ability can :read, Education::Program, university_id: @user.university_id can :read, Education::School, university_id: @user.university_id can :read, Research::Journal, university_id: @user.university_id - can :read, Research::Journal::Article, university_id: @user.university_id + can :read, Research::Journal::Paper, university_id: @user.university_id can :read, Research::Journal::Volume, university_id: @user.university_id can :read, Research::Laboratory, university_id: @user.university_id can :read, User, university_id: @user.university_id @@ -107,7 +107,7 @@ class Ability can :manage, Education::Program, university_id: @user.university_id can :manage, :all_programs # needed to prevent program_manager to access specific global screens can :manage, Research::Journal, university_id: @user.university_id - can :manage, Research::Journal::Article, university_id: @user.university_id + can :manage, Research::Journal::Paper, university_id: @user.university_id can :manage, Research::Journal::Volume, university_id: @user.university_id can :manage, Research::Laboratory, university_id: @user.university_id can :manage, University::Role, university_id: @user.university_id diff --git a/app/models/communication/website/menu/item.rb b/app/models/communication/website/menu/item.rb index 234e37df7..151b7505b 100644 --- a/app/models/communication/website/menu/item.rb +++ b/app/models/communication/website/menu/item.rb @@ -68,8 +68,8 @@ class Communication::Website::Menu::Item < ApplicationRecord teachers: 54, volumes: 60, volume: 61, - articles: 62, - article: 63 + papers: 62, + paper: 63 }, _prefix: :kind validates :title, presence: true @@ -90,8 +90,8 @@ class Communication::Website::Menu::Item < ApplicationRecord 'page' => Icon::COMMUNICATION_WEBSITE_PAGE, 'program' => Icon::EDUCATION_PROGRAM, 'programs' => Icon::EDUCATION_PROGRAM, - 'article' => Icon::RESEARCH_LABORATORY, - 'articles' => Icon::RESEARCH_LABORATORY, + 'paper' => Icon::RESEARCH_LABORATORY, + 'papers' => Icon::RESEARCH_LABORATORY, 'volumes' => Icon::RESEARCH_LABORATORY, 'volume' => Icon::RESEARCH_LABORATORY, 'researchers' => Icon::RESEARCH_RESEARCHER, @@ -147,7 +147,7 @@ class Communication::Website::Menu::Item < ApplicationRecord kind_category? || kind_post? || kind_volume? || - kind_article? + kind_paper? end def sync_menu diff --git a/app/models/communication/website/menu/item/with_targets.rb b/app/models/communication/website/menu/item/with_targets.rb index dbc8a06db..41cfd47aa 100644 --- a/app/models/communication/website/menu/item/with_targets.rb +++ b/app/models/communication/website/menu/item/with_targets.rb @@ -78,12 +78,12 @@ module Communication::Website::Menu::Item::WithTargets Static.clean_path "#{website.special_page(:research_volumes).path}#{about.path}" end - def target_for_articles - Static.clean_path website.special_page(:research_articles).path + def target_for_papers + Static.clean_path website.special_page(:research_papers).path end - def target_for_article + def target_for_paper return unless about&.published && about&.published_at - Static.clean_path "#{website.special_page(:research_articles).path}#{about.path}" + Static.clean_path "#{website.special_page(:research_papers).path}#{about.path}" end end diff --git a/app/models/communication/website/page/with_kind.rb b/app/models/communication/website/page/with_kind.rb index a1b0ea544..60983f755 100644 --- a/app/models/communication/website/page/with_kind.rb +++ b/app/models/communication/website/page/with_kind.rb @@ -8,7 +8,7 @@ module Communication::Website::Page::WithKind communication_posts: 10, education_programs: 20, education_diplomas: 21, - research_articles: 30, + research_papers: 30, research_volumes: 32, legal_terms: 80, sitemap: 81, @@ -26,7 +26,7 @@ module Communication::Website::Page::WithKind 'communication_posts', 'education_programs', 'education_diplomas', - 'research_articles', + 'research_papers', 'research_volumes', 'organizations', 'persons', diff --git a/app/models/communication/website/with_dependencies.rb b/app/models/communication/website/with_dependencies.rb index c9939dc2b..b3a223107 100644 --- a/app/models/communication/website/with_dependencies.rb +++ b/app/models/communication/website/with_dependencies.rb @@ -49,8 +49,8 @@ module Communication::Website::WithDependencies has_research_volumes? ? about.published_volumes : Research::Journal::Volume.none end - def research_articles - has_research_articles? ? about.published_articles : Research::Journal::Article.none + def research_papers + has_research_papers? ? about.published_papers : Research::Journal::Paper.none end def administrators @@ -174,8 +174,8 @@ module Communication::Website::WithDependencies about && about.has_education_diplomas? end - def has_research_articles? - about && about.has_research_articles? + def has_research_papers? + about && about.has_research_papers? end def has_research_volumes? diff --git a/app/models/communication/website/with_menu_items.rb b/app/models/communication/website/with_menu_items.rb index 1a8c9c6a3..cd2e66c5d 100644 --- a/app/models/communication/website/with_menu_items.rb +++ b/app/models/communication/website/with_menu_items.rb @@ -80,11 +80,11 @@ module Communication::Website::WithMenuItems has_research_volumes? end - def menu_item_kind_articles? - has_research_articles? + def menu_item_kind_papers? + has_research_papers? end - def menu_item_kind_article? - has_research_articles? + def menu_item_kind_paper? + has_research_papers? end end diff --git a/app/models/communication/website/with_special_pages.rb b/app/models/communication/website/with_special_pages.rb index 54fdc06bf..3da2f83c0 100644 --- a/app/models/communication/website/with_special_pages.rb +++ b/app/models/communication/website/with_special_pages.rb @@ -13,7 +13,7 @@ module Communication::Website::WithSpecialPages def create_missing_special_pages homepage = create_special_page('home') # first level pages with test - ['legal_terms', 'sitemap', 'privacy_policy', 'accessibility', 'communication_posts', 'education_programs', 'education_diplomas', 'research_articles', 'research_volumes', 'organizations'].each do |kind| + ['legal_terms', 'sitemap', 'privacy_policy', 'accessibility', 'communication_posts', 'education_programs', 'education_diplomas', 'research_papers', 'research_volumes', 'organizations'].each do |kind| create_special_page(kind, homepage.id) if public_send("has_#{kind}?") end # team pages diff --git a/app/models/concerns/aboutable.rb b/app/models/concerns/aboutable.rb index 05e71acfb..5a9f8541b 100644 --- a/app/models/concerns/aboutable.rb +++ b/app/models/concerns/aboutable.rb @@ -21,7 +21,7 @@ module Aboutable raise NotImplementedError end - def has_research_articles? + def has_research_papers? raise NotImplementedError end diff --git a/app/models/education/program.rb b/app/models/education/program.rb index 5cc682579..52ecb7123 100644 --- a/app/models/education/program.rb +++ b/app/models/education/program.rb @@ -202,7 +202,7 @@ class Education::Program < ApplicationRecord diploma.present? || descendants.any? { |descendant| descendant.diploma.present? } end - def has_research_articles? + def has_research_papers? false end diff --git a/app/models/education/school.rb b/app/models/education/school.rb index aadc491bb..cd6817b6f 100644 --- a/app/models/education/school.rb +++ b/app/models/education/school.rb @@ -84,7 +84,7 @@ class Education::School < ApplicationRecord # Aboutable methods # ##################### - def has_research_articles? + def has_research_papers? false end diff --git a/app/models/research/journal.rb b/app/models/research/journal.rb index 885d92465..7d302b7e6 100644 --- a/app/models/research/journal.rb +++ b/app/models/research/journal.rb @@ -28,10 +28,10 @@ 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 }, class_name: 'Research::Journal::Volume', foreign_key: :research_journal_id, dependent: :destroy - has_many :articles, foreign_key: :research_journal_id, dependent: :destroy - has_many :published_articles, -> { published }, class_name: 'Research::Journal::Article', foreign_key: :research_journal_id, dependent: :destroy - has_many :people, -> { distinct }, through: :articles - has_many :people_through_published_articles, -> { distinct }, through: :published_articles, source: :people + has_many :papers, foreign_key: :research_journal_id, dependent: :destroy + has_many :published_papers, -> { published }, class_name: 'Research::Journal::Paper', foreign_key: :research_journal_id, dependent: :destroy + has_many :people, -> { distinct }, through: :papers + has_many :people_through_published_papers, -> { distinct }, through: :published_papers, source: :people scope :ordered, -> { order(:title) } scope :for_search_term, -> (term) { @@ -48,7 +48,7 @@ class Research::Journal < ApplicationRecord end def researchers - university.people.where(id: people_through_published_articles.pluck(:id), is_researcher: true) + university.people.where(id: people_through_published_papers.pluck(:id), is_researcher: true) end def git_path(website) @@ -57,14 +57,14 @@ class Research::Journal < ApplicationRecord def git_dependencies(website) dependencies = [self] - dependencies += published_articles + published_articles.map(&:active_storage_blobs).flatten if has_research_articles? + 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 end def git_destroy_dependencies(website) - [self] + articles + volumes + [self] + papers + volumes end ##################### @@ -90,8 +90,8 @@ class Research::Journal < ApplicationRecord false end - def has_research_articles? - published_articles.published.any? + def has_research_papers? + published_papers.published.any? end def has_research_volumes? diff --git a/app/models/research/journal/article.rb b/app/models/research/journal/paper.rb similarity index 74% rename from app/models/research/journal/article.rb rename to app/models/research/journal/paper.rb index 40fa4544d..73222e190 100644 --- a/app/models/research/journal/article.rb +++ b/app/models/research/journal/paper.rb @@ -1,6 +1,6 @@ # == Schema Information # -# Table name: research_journal_articles +# Table name: research_journal_papers # # id :uuid not null, primary key # abstract :text @@ -22,10 +22,10 @@ # # Indexes # -# index_research_journal_articles_on_research_journal_id (research_journal_id) -# index_research_journal_articles_on_research_journal_volume_id (research_journal_volume_id) -# index_research_journal_articles_on_university_id (university_id) -# index_research_journal_articles_on_updated_by_id (updated_by_id) +# index_research_journal_papers_on_research_journal_id (research_journal_id) +# index_research_journal_papers_on_research_journal_volume_id (research_journal_volume_id) +# index_research_journal_papers_on_university_id (university_id) +# index_research_journal_papers_on_updated_by_id (updated_by_id) # # Foreign Keys # @@ -34,7 +34,7 @@ # fk_rails_2713063b85 (updated_by_id => users.id) # fk_rails_935541e014 (university_id => universities.id) # -class Research::Journal::Article < ApplicationRecord +class Research::Journal::Paper < ApplicationRecord include Sanitizable include WithUniversity include WithGit @@ -50,7 +50,7 @@ class Research::Journal::Article < ApplicationRecord belongs_to :updated_by, class_name: 'User' has_and_belongs_to_many :people, class_name: 'University::Person', - join_table: :research_journal_articles_researchers, + join_table: :research_journal_papers_researchers, association_foreign_key: :researcher_id has_many :websites, -> { distinct }, through: :journal @@ -59,15 +59,16 @@ class Research::Journal::Article < ApplicationRecord before_validation :set_published_at, if: :published_changed? scope :published, -> { where(published: true) } + scope :ordered, -> { order(published_at: :desc, created_at: :desc) } def git_path(website) - "content/articles/#{published_at.year}/#{published_at.strftime "%Y-%m-%d"}-#{slug}.html" if (volume.nil? || volume.published_at) && published_at + "content/papers/#{published_at.year}/#{published_at.strftime "%Y-%m-%d"}-#{slug}.html" if (volume.nil? || volume.published_at) && published_at end def git_dependencies(website) [self] + active_storage_blobs + - other_articles_in_the_volume + + other_papers_in_the_volume + people + people.map(&:active_storage_blobs).flatten + people.map(&:researcher) + @@ -84,13 +85,13 @@ class Research::Journal::Article < ApplicationRecord protected - def other_articles_in_the_volume + def other_papers_in_the_volume return [] if volume.nil? - volume.articles.where.not(id: self) + volume.papers.where.not(id: self) end def last_ordered_element - Research::Journal::Article.where( + Research::Journal::Paper.where( university_id: university_id, research_journal_volume_id: research_journal_volume_id ).ordered.last diff --git a/app/models/research/journal/volume.rb b/app/models/research/journal/volume.rb index dc0e9ae38..1aef5e46d 100644 --- a/app/models/research/journal/volume.rb +++ b/app/models/research/journal/volume.rb @@ -39,9 +39,9 @@ class Research::Journal::Volume < ApplicationRecord has_summernote :text belongs_to :journal, foreign_key: :research_journal_id - has_many :articles, foreign_key: :research_journal_volume_id, dependent: :nullify + has_many :papers, foreign_key: :research_journal_volume_id, dependent: :nullify has_many :websites, -> { distinct }, through: :journal - has_many :people, -> { distinct }, through: :articles + has_many :people, -> { distinct }, through: :papers before_validation :set_published_at, if: :published_changed? @@ -58,7 +58,7 @@ class Research::Journal::Volume < ApplicationRecord def git_dependencies(website) [self] + - articles + + papers + people + people.map(&:active_storage_blobs).flatten + people.map(&:researcher) + diff --git a/app/models/research/laboratory.rb b/app/models/research/laboratory.rb index 964f4dbd9..2daa8f561 100644 --- a/app/models/research/laboratory.rb +++ b/app/models/research/laboratory.rb @@ -80,7 +80,7 @@ class Research::Laboratory < ApplicationRecord false end - def has_research_articles? + def has_research_papers? false end diff --git a/app/models/university/person.rb b/app/models/university/person.rb index 0b40a7082..a3f3f3e10 100644 --- a/app/models/university/person.rb +++ b/app/models/university/person.rb @@ -70,9 +70,9 @@ class University::Person < ApplicationRecord belongs_to :user, optional: true - has_and_belongs_to_many :research_journal_articles, - class_name: 'Research::Journal::Article', - join_table: :research_journal_articles_researchers, + has_and_belongs_to_many :research_journal_papers, + class_name: 'Research::Journal::Paper', + join_table: :research_journal_papers_researchers, foreign_key: :researcher_id has_many :communication_website_posts, @@ -96,7 +96,7 @@ class University::Person < ApplicationRecord has_many :researcher_websites, -> { distinct }, - through: :research_journal_articles, + through: :research_journal_papers, source: :websites has_many :teacher_websites, diff --git a/app/views/admin/communication/websites/configs/permalinks/static.html.erb b/app/views/admin/communication/websites/configs/permalinks/static.html.erb index 1d0f12712..a7bdb1749 100644 --- a/app/views/admin/communication/websites/configs/permalinks/static.html.erb +++ b/app/views/admin/communication/websites/configs/permalinks/static.html.erb @@ -24,5 +24,5 @@ administrators: <%= @website.special_page(:persons).path_without_language %>:slu teachers: <%= @website.special_page(:persons).path_without_language %>:slug/programs/ <% end %> <% if @website.has_researchers? %> -researchers: <%= @website.special_page(:persons).path_without_language %>:slug/articles/ +researchers: <%= @website.special_page(:persons).path_without_language %>:slug/papers/ <% end %> diff --git a/app/views/admin/communication/websites/menus/items/_form.html.erb b/app/views/admin/communication/websites/menus/items/_form.html.erb index 7dc309043..6279d6348 100644 --- a/app/views/admin/communication/websites/menus/items/_form.html.erb +++ b/app/views/admin/communication/websites/menus/items/_form.html.erb @@ -32,8 +32,8 @@ about_collection = collection @website.posts elsif item.kind_volume? about_collection = collection @website.research_volumes - elsif item.kind_article? - about_collection = collection @website.research_articles + elsif item.kind_paper? + about_collection = collection @website.research_papers end else about_collection = [] diff --git a/app/views/admin/communication/websites/menus/items/kind_switch.js.erb b/app/views/admin/communication/websites/menus/items/kind_switch.js.erb index 484357c7b..3e7d34011 100644 --- a/app/views/admin/communication/websites/menus/items/kind_switch.js.erb +++ b/app/views/admin/communication/websites/menus/items/kind_switch.js.erb @@ -61,14 +61,14 @@ function hideAbout() { end %> displayAbout('Research::Journal::Volume', "<%= j(raw(options.join(''))) %>"); -<% elsif @kind == 'article' %> +<% elsif @kind == 'paper' %> <% options = ['<option value="" label=" "></option>'] - @website.research_articles.ordered.each do |article| - options << "<option value=\"#{article.id}\">#{article.to_s}</option>" + @website.research_papers.ordered.each do |paper| + options << "<option value=\"#{paper.id}\">#{paper.to_s}</option>" end %> - displayAbout('Research::Journal::Article', "<%= j(raw(options.join(''))) %>"); + displayAbout('Research::Journal::Paper', "<%= j(raw(options.join(''))) %>"); <% else %> $('.js-url-field').addClass('d-none'); hideAbout(); diff --git a/app/views/admin/research/journals/articles/_list.html.erb b/app/views/admin/research/journals/articles/_list.html.erb deleted file mode 100644 index 5004452d6..000000000 --- a/app/views/admin/research/journals/articles/_list.html.erb +++ /dev/null @@ -1,33 +0,0 @@ -<table class="table"> - <thead> - <tr> - <th><%= Research::Journal::Article.model_name.human %></th> - <th><%= Research::Journal::Article.human_attribute_name('published_at') %></th> - <th></th> - </tr> - </thead> - <tbody> - <% articles.each do |article| %> - <tr> - <td> - <%= link_to article, - admin_research_journal_article_path(journal_id: article.journal, id: article), - class: "#{'draft' unless article.published?}" %> - </td> - <td><%= article.published_at %></td> - <td class="text-end"> - <div class="btn-group" role="group"> - <%= link_to t('edit'), - edit_admin_research_journal_article_path(journal_id: article.journal, id: article), - class: button_classes %> - <%= link_to t('delete'), - admin_research_journal_article_path(journal_id: article.journal, id: article), - method: :delete, - data: { confirm: t('please_confirm') }, - class: button_classes_danger %> - </div> - </td> - </tr> - <% end %> - </tbody> -</table> diff --git a/app/views/admin/research/journals/articles/edit.html.erb b/app/views/admin/research/journals/articles/edit.html.erb deleted file mode 100644 index 097d85906..000000000 --- a/app/views/admin/research/journals/articles/edit.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<% content_for :title, @article %> - -<%= render 'form', article: @article %> diff --git a/app/views/admin/research/journals/articles/index.html.erb b/app/views/admin/research/journals/articles/index.html.erb deleted file mode 100644 index 482b92c24..000000000 --- a/app/views/admin/research/journals/articles/index.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -<% content_for :title, Research::Journal::Article.model_name.human(count: 2) %> - -<%= render 'admin/research/journals/articles/list', articles: @articles %> - -<% content_for :action_bar_right do %> - <%= create_link Research::Journal::Article %> -<% end %> diff --git a/app/views/admin/research/journals/articles/new.html.erb b/app/views/admin/research/journals/articles/new.html.erb deleted file mode 100644 index 512b1e2dc..000000000 --- a/app/views/admin/research/journals/articles/new.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<% content_for :title, Research::Journal::Article.model_name.human %> - -<%= render 'form', article: @article %> diff --git a/app/views/admin/research/journals/articles/show.html.erb b/app/views/admin/research/journals/articles/show.html.erb deleted file mode 100644 index 9deb350e3..000000000 --- a/app/views/admin/research/journals/articles/show.html.erb +++ /dev/null @@ -1,84 +0,0 @@ -<% content_for :title, @article %> - -<div class="row"> - <div class="col-md-8"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h2 class="card-title mb-0 h5"><%= t('content') %></h2> - </div> - <div class="card-body"> - <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('abstract') %></h3> - <p><%= @article.abstract %></p> - <% if @article.pdf.attached? %> - <h3 class="h5 mt-4"><%= Research::Journal::Article.human_attribute_name('pdf') %></h3> - <%= link_to @article.pdf.filename, url_for(@article.pdf) %> - <% end %> - <h3 class="h5 mt-4"><%= Research::Journal::Article.human_attribute_name('text') %></h3> - <p><%= @article.text %></p> - <h3 class="h5 mt-4"><%= Research::Journal::Article.human_attribute_name('references') %></h3> - <p><%= @article.references %></p> - </div> - </div> - </div> - <div class="col-md-4"> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2> - </div> - <div class="card-body"> - <% if @article.volume %> - <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('volume') %></h3> - <p><%= link_to @article.volume, - [:admin, @article.volume], - class: "#{'draft' unless @article.volume.published?}" %></p> - <% end %> - <h3 class="h5"><%= Research::Journal::Article.human_attribute_name('published') %></h3> - <p><%= t @article.published %></p> - <% if @article.published? && @article.published_at.present? %> - <h3 class="h5"> - <%= Research::Journal::Article.human_attribute_name('published_at') %> - </h3> - <p><%= l @article.published_at.to_time, format: :date_with_explicit_month %></p> - <% end %> - <% unless @article.keywords.blank? %> - <h3 class="h5"> - <%= Research::Journal::Article.human_attribute_name('keywords') %> - </h3> - <p><%= @article.keywords %></p> - <% end %> - <% if @article.people.any? %> - <h3 class="h5"> - <%= Research::Journal::Article.human_attribute_name('people') %> - </h3> - <ul class="list-unstyled mb-0"> - <% @article.people.each do |person| %> - <li><%= link_to person, admin_research_researcher_path(person) %></li> - <% end %> - </ul> - <% end %> - </div> - </div> - <% if @article.description.present? %> - <div class="card flex-fill w-100"> - <div class="card-header"> - <h5 class="card-title mb-0"><%= t('seo') %></h5> - </div> - <div class="card-body"> - <h3 class="h5"> - <%= Research::Journal::Article.human_attribute_name('description') %> - </h3> - <%= simple_format @article.description %> - </div> - </div> - <% end %> - - </div> -</div> - -<% content_for :action_bar_left do %> - <%= destroy_link @article %> -<% end %> - -<% content_for :action_bar_right do %> - <%= edit_link @article %> -<% end %> diff --git a/app/views/admin/research/journals/index.html.erb b/app/views/admin/research/journals/index.html.erb index e5fff3497..365ee4023 100644 --- a/app/views/admin/research/journals/index.html.erb +++ b/app/views/admin/research/journals/index.html.erb @@ -7,7 +7,7 @@ <tr> <th><%= Research::Journal.human_attribute_name('title') %></th> <th><%= Research::Journal::Volume.model_name.human(count: 2) %></th> - <th><%= Research::Journal::Article.model_name.human(count: 2) %></th> + <th><%= Research::Journal::Paper.model_name.human(count: 2) %></th> <th></th> </tr> </thead> @@ -17,7 +17,7 @@ <tr> <td><%= link_to journal, [:admin, journal] %></td> <td><%= link_to "#{journal.volumes.count}", admin_research_journal_volumes_path(journal_id: journal) %></td> - <td><%= link_to "#{journal.articles.count}", admin_research_journal_articles_path(journal_id: journal) %></td> + <td><%= link_to "#{journal.papers.count}", admin_research_journal_papers_path(journal_id: journal) %></td> <td class="text-end"> <div class="btn-group" role="group"> <%= edit_link journal %> diff --git a/app/views/admin/research/journals/articles/_form.html.erb b/app/views/admin/research/journals/papers/_form.html.erb similarity index 90% rename from app/views/admin/research/journals/articles/_form.html.erb rename to app/views/admin/research/journals/papers/_form.html.erb index 198a9b5ad..f3e6cc44a 100644 --- a/app/views/admin/research/journals/articles/_form.html.erb +++ b/app/views/admin/research/journals/papers/_form.html.erb @@ -1,4 +1,4 @@ -<%= simple_form_for [:admin, article] do |f| %> +<%= simple_form_for [:admin, paper] do |f| %> <%= f.error_notification %> <%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %> @@ -25,9 +25,9 @@ <div class="card-body"> <%= f.input :slug, as: :string, - input_html: article.persisted? ? {} : { + input_html: paper.persisted? ? {} : { class: 'js-slug-input', - data: { source: '#research_journal_article_title' } + data: { source: '#research_journal_paper_title' } } %> <%= f.association :volume, collection: @journal.volumes, label: Research::Journal::Volume.model_name.human %> <%= f.input :published %> diff --git a/app/views/admin/research/journals/papers/_list.html.erb b/app/views/admin/research/journals/papers/_list.html.erb new file mode 100644 index 000000000..907248867 --- /dev/null +++ b/app/views/admin/research/journals/papers/_list.html.erb @@ -0,0 +1,33 @@ +<table class="table"> + <thead> + <tr> + <th><%= Research::Journal::Paper.model_name.human %></th> + <th><%= Research::Journal::Paper.human_attribute_name('published_at') %></th> + <th></th> + </tr> + </thead> + <tbody> + <% papers.each do |paper| %> + <tr> + <td> + <%= link_to paper, + admin_research_journal_paper_path(journal_id: paper.journal, id: paper), + class: "#{'draft' unless paper.published?}" %> + </td> + <td><%= paper.published_at %></td> + <td class="text-end"> + <div class="btn-group" role="group"> + <%= link_to t('edit'), + edit_admin_research_journal_paper_path(journal_id: paper.journal, id: paper), + class: button_classes %> + <%= link_to t('delete'), + admin_research_journal_paper_path(journal_id: paper.journal, id: paper), + method: :delete, + data: { confirm: t('please_confirm') }, + class: button_classes_danger %> + </div> + </td> + </tr> + <% end %> + </tbody> +</table> diff --git a/app/views/admin/research/journals/papers/edit.html.erb b/app/views/admin/research/journals/papers/edit.html.erb new file mode 100644 index 000000000..2918a2bde --- /dev/null +++ b/app/views/admin/research/journals/papers/edit.html.erb @@ -0,0 +1,3 @@ +<% content_for :title, @paper %> + +<%= render 'form', paper: @paper %> diff --git a/app/views/admin/research/journals/papers/index.html.erb b/app/views/admin/research/journals/papers/index.html.erb new file mode 100644 index 000000000..832f92909 --- /dev/null +++ b/app/views/admin/research/journals/papers/index.html.erb @@ -0,0 +1,7 @@ +<% content_for :title, Research::Journal::Paper.model_name.human(count: 2) %> + +<%= render 'admin/research/journals/papers/list', papers: @papers %> + +<% content_for :action_bar_right do %> + <%= create_link Research::Journal::Paper %> +<% end %> diff --git a/app/views/admin/research/journals/papers/new.html.erb b/app/views/admin/research/journals/papers/new.html.erb new file mode 100644 index 000000000..c93d71c66 --- /dev/null +++ b/app/views/admin/research/journals/papers/new.html.erb @@ -0,0 +1,3 @@ +<% content_for :title, Research::Journal::Paper.model_name.human %> + +<%= render 'form', paper: @paper %> diff --git a/app/views/admin/research/journals/papers/show.html.erb b/app/views/admin/research/journals/papers/show.html.erb new file mode 100644 index 000000000..8abc2ab2f --- /dev/null +++ b/app/views/admin/research/journals/papers/show.html.erb @@ -0,0 +1,84 @@ +<% content_for :title, @paper %> + +<div class="row"> + <div class="col-md-8"> + <div class="card flex-fill w-100"> + <div class="card-header"> + <h2 class="card-title mb-0 h5"><%= t('content') %></h2> + </div> + <div class="card-body"> + <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('abstract') %></h3> + <p><%= @paper.abstract %></p> + <% if @paper.pdf.attached? %> + <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('pdf') %></h3> + <%= link_to @paper.pdf.filename, url_for(@paper.pdf) %> + <% end %> + <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('text') %></h3> + <p><%= @paper.text %></p> + <h3 class="h5 mt-4"><%= Research::Journal::Paper.human_attribute_name('references') %></h3> + <p><%= @paper.references %></p> + </div> + </div> + </div> + <div class="col-md-4"> + <div class="card flex-fill w-100"> + <div class="card-header"> + <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2> + </div> + <div class="card-body"> + <% if @paper.volume %> + <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('volume') %></h3> + <p><%= link_to @paper.volume, + [:admin, @paper.volume], + class: "#{'draft' unless @paper.volume.published?}" %></p> + <% end %> + <h3 class="h5"><%= Research::Journal::Paper.human_attribute_name('published') %></h3> + <p><%= t @paper.published %></p> + <% if @paper.published? && @paper.published_at.present? %> + <h3 class="h5"> + <%= Research::Journal::Paper.human_attribute_name('published_at') %> + </h3> + <p><%= l @paper.published_at.to_time, format: :date_with_explicit_month %></p> + <% end %> + <% unless @paper.keywords.blank? %> + <h3 class="h5"> + <%= Research::Journal::Paper.human_attribute_name('keywords') %> + </h3> + <p><%= @paper.keywords %></p> + <% end %> + <% if @paper.people.any? %> + <h3 class="h5"> + <%= Research::Journal::Paper.human_attribute_name('people') %> + </h3> + <ul class="list-unstyled mb-0"> + <% @paper.people.each do |person| %> + <li><%= link_to person, admin_research_researcher_path(person) %></li> + <% end %> + </ul> + <% end %> + </div> + </div> + <% if @paper.description.present? %> + <div class="card flex-fill w-100"> + <div class="card-header"> + <h5 class="card-title mb-0"><%= t('seo') %></h5> + </div> + <div class="card-body"> + <h3 class="h5"> + <%= Research::Journal::Paper.human_attribute_name('description') %> + </h3> + <%= simple_format @paper.description %> + </div> + </div> + <% end %> + + </div> +</div> + +<% content_for :action_bar_left do %> + <%= destroy_link @paper %> +<% end %> + +<% content_for :action_bar_right do %> + <%= edit_link @paper %> +<% end %> diff --git a/app/views/admin/research/journals/articles/static.html.erb b/app/views/admin/research/journals/papers/static.html.erb similarity index 100% rename from app/views/admin/research/journals/articles/static.html.erb rename to app/views/admin/research/journals/papers/static.html.erb diff --git a/app/views/admin/research/journals/show.html.erb b/app/views/admin/research/journals/show.html.erb index a6f4f6788..b01f2f575 100644 --- a/app/views/admin/research/journals/show.html.erb +++ b/app/views/admin/research/journals/show.html.erb @@ -11,7 +11,6 @@ <% if @journal.issn %><%= Research::Journal.human_attribute_name('issn') %> <%= @journal.issn %><% end %> <% end %> - <div class="card mt-5"> <div class="card-header"> <div class="float-end"> @@ -45,14 +44,14 @@ <div class="card-header"> <div class="float-end"> <%= link_to t('create'), - new_admin_research_journal_article_path(journal_id: @journal), + new_admin_research_journal_paper_path(journal_id: @journal), class: button_classes %> </div> <h2 class="card-title"> - <%= link_to Research::Journal::Article.model_name.human(count: 2), - admin_research_journal_articles_path(journal_id: @journal) %></h2> + <%= link_to Research::Journal::Paper.model_name.human(count: 2), + admin_research_journal_papers_path(journal_id: @journal) %></h2> </div> - <%= render 'admin/research/journals/articles/list', articles: @articles %> + <%= render 'admin/research/journals/papers/list', papers: @papers %> </div> <% content_for :action_bar_left do %> diff --git a/app/views/admin/research/journals/volumes/show.html.erb b/app/views/admin/research/journals/volumes/show.html.erb index 33250b106..bf24bdfd7 100644 --- a/app/views/admin/research/journals/volumes/show.html.erb +++ b/app/views/admin/research/journals/volumes/show.html.erb @@ -7,38 +7,38 @@ <h2 class="card-title mb-0 h5"><%= t('content') %></h2> </div> <div class="card-body"> - <% if @articles.any? %> - <h3 class="h5 mt-4"><%= Research::Journal::Volume.human_attribute_name('articles') %></h3> + <% if @papers.any? %> + <h3 class="h5 mt-4"><%= Research::Journal::Volume.human_attribute_name('papers') %></h3> <table class="table"> <thead> <tr> - <% if can? :reorder, Research::Journal::Article %> + <% if can? :reorder, Research::Journal::Paper %> <th width="20" class="ps-0"> </th> <% end %> - <th class="ps-0"><%= Research::Journal::Article.model_name.human %></th> - <th><%= Research::Journal::Article.human_attribute_name('published_at') %></th> + <th class="ps-0"><%= Research::Journal::Paper.model_name.human %></th> + <th><%= Research::Journal::Paper.human_attribute_name('published_at') %></th> <th></th> </tr> </thead> - <tbody data-sortable data-sort-url="<%= reorder_admin_research_journal_articles_path(journal_id: @journal.id) %>"> - <% @articles.each do |article| %> - <tr data-id="<%= article.id %>"> - <% if can? :reorder, Research::Journal::Article %> + <tbody data-sortable data-sort-url="<%= reorder_admin_research_journal_papers_path(journal_id: @journal.id) %>"> + <% @papers.each do |paper| %> + <tr data-id="<%= paper.id %>"> + <% if can? :reorder, Research::Journal::Paper %> <td><i class="fa fa-bars handle"></i></td> <% end %> <td> - <%= link_to article, - admin_research_journal_article_path(journal_id: article.journal, id: article), - class: "#{'draft' unless article.published?}" %> + <%= link_to paper, + admin_research_journal_paper_path(journal_id: paper.journal, id: paper), + class: "#{'draft' unless paper.published?}" %> </td> - <td><%= article.published_at %></td> + <td><%= paper.published_at %></td> <td class="text-end"> <div class="btn-group" role="group"> <%= link_to t('edit'), - edit_admin_research_journal_article_path(journal_id: article.journal, id: article), + edit_admin_research_journal_paper_path(journal_id: paper.journal, id: paper), class: button_classes %> <%= link_to t('delete'), - admin_research_journal_article_path(journal_id: article.journal, id: article), + admin_research_journal_paper_path(journal_id: paper.journal, id: paper), method: :delete, data: { confirm: t('please_confirm') }, class: button_classes_danger %> diff --git a/app/views/admin/research/researchers/index.html.erb b/app/views/admin/research/researchers/index.html.erb index d20f3591b..2d8f876f3 100644 --- a/app/views/admin/research/researchers/index.html.erb +++ b/app/views/admin/research/researchers/index.html.erb @@ -8,7 +8,7 @@ <th><%= University::Person.human_attribute_name('name') %></th> <th><%= University::Person.human_attribute_name('first_name') %></th> <th></th> - <th><%= t('research.number_of_articles') %></th> + <th><%= t('research.number_of_papers') %></th> </tr> </thead> @@ -21,7 +21,7 @@ <%= kamifusen_tag researcher.best_picture, width: 40 if researcher.best_picture.attached? %> </td> - <td><%= researcher.research_journal_articles.count %></td> + <td><%= researcher.research_journal_papers.count %></td> </tr> <% end %> </tbody> diff --git a/app/views/admin/research/researchers/show.html.erb b/app/views/admin/research/researchers/show.html.erb index 6b521d61f..63257c188 100644 --- a/app/views/admin/research/researchers/show.html.erb +++ b/app/views/admin/research/researchers/show.html.erb @@ -2,15 +2,15 @@ <%= render 'admin/university/people/main_infos', person: @researcher %> -<% if @articles.total_count > 0 %> +<% if @papers.total_count > 0 %> <div class="card"> <div class="card-header"> - <h2 class="card-title mb-0 h5"><%= "#{Research::Journal::Article.model_name.human(count: 2)} (#{@articles.total_count})" %></h2> + <h2 class="card-title mb-0 h5"><%= "#{Research::Journal::Paper.model_name.human(count: 2)} (#{@papers.total_count})" %></h2> </div> - <%= render 'admin/research/journals/articles/list', articles: @articles %> - <% if @articles.total_pages > 1 %> + <%= render 'admin/research/journals/papers/list', papers: @papers %> + <% if @papers.total_pages > 1 %> <div class="card-footer"> - <%= paginate @articles, theme: 'bootstrap-5' %> + <%= paginate @papers, theme: 'bootstrap-5' %> </div> <% end %> </div> diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml index c28642d8d..9f445beb2 100644 --- a/config/locales/communication/en.yml +++ b/config/locales/communication/en.yml @@ -551,11 +551,11 @@ en: description_short: '' slug: privacy-policy title: Privacy policy - research_articles: - admin_description: list of articles - description_short: List of articles - slug: articles - title: Articles + research_papers: + admin_description: list of papers + description_short: List of papers + slug: papers + title: Papers research_volumes: admin_description: list of volumes description_short: List of volumes @@ -620,8 +620,8 @@ en: page: Specific Page program: Specific program programs: Programs index - article: Specific research article - articles: Research articles index + paper: Specific research paper + papers: Research papers index volume: Specific research volume volumes: Research volumes index researchers: Research staff diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml index 5017d7651..3b20932c1 100644 --- a/config/locales/communication/fr.yml +++ b/config/locales/communication/fr.yml @@ -555,11 +555,11 @@ fr: description_short: '' slug: politique-de-confidentialite title: Politique de confidentialité - research_articles: - admin_description: liste des articles - description_short: Liste des articles - slug: articles - title: Articles + research_papers: + admin_description: liste des papiers + description_short: Liste des papiers + slug: papiers + title: Papiers research_volumes: admin_description: liste des volumes description_short: Liste des volumes @@ -624,8 +624,8 @@ fr: page: Page spécifique program: Formation spécifique programs: Liste des formations - article: Article spécifique - articles: Liste des articles + paper: Papier spécifique + papers: Liste des papiers volume: Volume spécifique volumes: Liste des volumes researchers: Équipe de recherche diff --git a/config/locales/research/en.yml b/config/locales/research/en.yml index be2ded093..09f9bc071 100644 --- a/config/locales/research/en.yml +++ b/config/locales/research/en.yml @@ -7,9 +7,9 @@ en: research/journal: one: Journal other: Journals - research/journal/article: - one: Article - other: Articles + research/journal/paper: + one: Paper + other: Papers research/journal/volume: one: Volume other: Volumes @@ -26,11 +26,11 @@ en: research/journal: issn: ISSN title: Title - research/journal/article: + research/journal/paper: abstract: Abstract description: Meta Description keywords: Keywords - pdf: Article PDF + pdf: PDF published: Published? published_at: Published at references: References @@ -69,13 +69,13 @@ en: title: Title research: manage_researchers: Managege researchers - number_of_articles: Number of articles + number_of_papers: Number of papers researchers: one: Researcher other: Researchers simple_form: hints: - research_journal_article: + research_journal_paper: description: If this field is empty the main text's begining will be used. research_journal_volume: cover: JPG or PNG file diff --git a/config/locales/research/fr.yml b/config/locales/research/fr.yml index 21ed4ad67..1dc6d8e66 100644 --- a/config/locales/research/fr.yml +++ b/config/locales/research/fr.yml @@ -7,9 +7,9 @@ fr: research/journal: one: Revue scientifique other: Revues scientifiques - research/journal/article: - one: Article - other: Articles + research/journal/paper: + one: Papier + other: Papiers research/journal/volume: one: Volumes other: Volumes @@ -26,11 +26,11 @@ fr: research/journal: issn: ISSN title: Titre - research/journal/article: + research/journal/paper: abstract: Extrait description: Meta Description keywords: Mots clés - pdf: PDF de l'article + pdf: PDF published: Publié ? published_at: Publié le references: Références @@ -69,13 +69,13 @@ fr: title: Titre research: manage_researchers: Gérer les Chercheu·rs·ses - number_of_articles: Nombre d'articles + number_of_papers: Nombre de papiers researchers: one: Chercheu·r·se other: Chercheu·rs·ses simple_form: hints: - research_journal_article: + research_journal_paper: description: Si ce champ est vide le début de l'extrait sera utilisé. research_journal_volume: cover: Fichier JPG ou PNG diff --git a/config/locales/university/en.yml b/config/locales/university/en.yml index 5f5cfdffb..9c88adb86 100644 --- a/config/locales/university/en.yml +++ b/config/locales/university/en.yml @@ -57,7 +57,7 @@ en: phone_personal: Personal phone phone_professional: Professional phone picture: Profile picture - research_journal_articles: Articles + research_journal_papers: Papiers researcher: Researcher roles: Roles slug: Slug @@ -136,7 +136,7 @@ en: is_administration: "Fulfill administrative missions." is_alumnus: "Studies or studied in the school." is_author: "Writes posts for websites." - is_researcher: "Writes articles for journals." + is_researcher: "Writes papers for journals." is_teacher: "Teaches in Schools." linkedin: "Example: https://www.linkedin.com/in/osuny" tenure: "To differ from temporary lecturer." diff --git a/config/locales/university/fr.yml b/config/locales/university/fr.yml index e02d65e3a..b80dd0997 100644 --- a/config/locales/university/fr.yml +++ b/config/locales/university/fr.yml @@ -57,7 +57,7 @@ fr: phone_personal: Téléphone personnel phone_professional: Téléphone professionnel picture: Photo de profil - research_journal_articles: Articles + research_journal_papers: Papiers researcher: Chercheur·se roles: Rôles slug: Slug @@ -136,7 +136,7 @@ fr: is_administration: "Remplit des missions administratives." is_alumnus: "Étudie ou a étudié dans l'établissement." is_author: "Écrit des articles pour les sites." - is_researcher: "Écrit des articles dans des revues scientifiques." + is_researcher: "Écrit des papiers dans des revues scientifiques." is_teacher: "Enseigne dans des formations." linkedin: "Exemple : https://www.linkedin.com/in/osuny" tenure: "À différencier d'une personne vacataire." diff --git a/config/routes/admin/research.rb b/config/routes/admin/research.rb index d4ec9725c..7a1189c60 100644 --- a/config/routes/admin/research.rb +++ b/config/routes/admin/research.rb @@ -2,7 +2,7 @@ namespace :research do resources :researchers, only: [:index, :show] resources :journals do resources :volumes, controller: 'journals/volumes' - resources :articles, controller: 'journals/articles' do + resources :papers, controller: 'journals/papers' do collection do post :reorder end diff --git a/db/migrate/20220802151713_rename_research_articles_to_research_papers.rb b/db/migrate/20220802151713_rename_research_articles_to_research_papers.rb new file mode 100644 index 000000000..cbdde0073 --- /dev/null +++ b/db/migrate/20220802151713_rename_research_articles_to_research_papers.rb @@ -0,0 +1,7 @@ +class RenameResearchArticlesToResearchPapers < ActiveRecord::Migration[6.1] + def change + rename_table :research_journal_articles, :research_journal_papers + rename_table :research_journal_articles_researchers, :research_journal_papers_researchers + rename_column :research_journal_papers_researchers, :article_id, :paper_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 5c8796c4a..5f9451178 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_07_27_075720) do +ActiveRecord::Schema.define(version: 2022_08_02_151713) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" @@ -530,7 +530,7 @@ ActiveRecord::Schema.define(version: 2022_07_27_075720) do t.datetime "updated_at", precision: 6, null: false end - create_table "research_journal_articles", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "research_journal_papers", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| t.string "title" t.datetime "published_at" t.uuid "university_id", null: false @@ -547,17 +547,17 @@ ActiveRecord::Schema.define(version: 2022_07_27_075720) do t.integer "position" t.text "text" t.text "description" - t.index ["research_journal_id"], name: "index_research_journal_articles_on_research_journal_id" - t.index ["research_journal_volume_id"], name: "index_research_journal_articles_on_research_journal_volume_id" - t.index ["university_id"], name: "index_research_journal_articles_on_university_id" - t.index ["updated_by_id"], name: "index_research_journal_articles_on_updated_by_id" + t.index ["research_journal_id"], name: "index_research_journal_papers_on_research_journal_id" + t.index ["research_journal_volume_id"], name: "index_research_journal_papers_on_research_journal_volume_id" + t.index ["university_id"], name: "index_research_journal_papers_on_university_id" + t.index ["updated_by_id"], name: "index_research_journal_papers_on_updated_by_id" end - create_table "research_journal_articles_researchers", force: :cascade do |t| + create_table "research_journal_papers_researchers", force: :cascade do |t| t.uuid "researcher_id", null: false - t.uuid "article_id", null: false - t.index ["article_id"], name: "index_research_journal_articles_researchers_on_article_id" - t.index ["researcher_id"], name: "index_research_journal_articles_researchers_on_researcher_id" + t.uuid "paper_id", null: false + t.index ["paper_id"], name: "index_research_journal_papers_researchers_on_paper_id" + t.index ["researcher_id"], name: "index_research_journal_papers_researchers_on_researcher_id" end create_table "research_journal_volumes", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| @@ -854,12 +854,12 @@ ActiveRecord::Schema.define(version: 2022_07_27_075720) do add_foreign_key "education_schools", "universities" add_foreign_key "imports", "universities" add_foreign_key "imports", "users" - add_foreign_key "research_journal_articles", "research_journal_volumes" - add_foreign_key "research_journal_articles", "research_journals" - add_foreign_key "research_journal_articles", "universities" - add_foreign_key "research_journal_articles", "users", column: "updated_by_id" - add_foreign_key "research_journal_articles_researchers", "research_journal_articles", column: "article_id" - add_foreign_key "research_journal_articles_researchers", "university_people", column: "researcher_id" + add_foreign_key "research_journal_papers", "research_journal_volumes" + add_foreign_key "research_journal_papers", "research_journals" + add_foreign_key "research_journal_papers", "universities" + add_foreign_key "research_journal_papers", "users", column: "updated_by_id" + add_foreign_key "research_journal_papers_researchers", "research_journal_papers", column: "paper_id" + add_foreign_key "research_journal_papers_researchers", "university_people", column: "researcher_id" add_foreign_key "research_journal_volumes", "research_journals" add_foreign_key "research_journal_volumes", "universities" add_foreign_key "research_journals", "universities" -- GitLab