From b89be150f3692ea02004b95147ba1449a1c2f591 Mon Sep 17 00:00:00 2001
From: Arnaud Levy <contact@arnaudlevy.com>
Date: Wed, 18 Jan 2023 21:13:49 +0100
Subject: [PATCH] preview statics

---
 .../research/journals/paper_kinds_controller.rb   |  7 ++++++-
 .../admin/research/journals/papers_controller.rb  |  5 +++++
 .../admin/research/journals/volumes_controller.rb |  5 +++++
 .../research/journals/paper_kinds/show.html.erb   |  3 +++
 .../research/journals/paper_kinds/static.html.erb |  5 +++++
 .../admin/research/journals/papers/show.html.erb  |  3 +++
 .../research/journals/papers/static.html.erb      |  3 ++-
 .../admin/research/journals/volumes/show.html.erb |  3 +++
 .../research/journals/volumes/static.html.erb     |  3 ++-
 config/routes/admin/research.rb                   | 15 +++++++++++++--
 10 files changed, 47 insertions(+), 5 deletions(-)
 create mode 100644 app/views/admin/research/journals/paper_kinds/static.html.erb

diff --git a/app/controllers/admin/research/journals/paper_kinds_controller.rb b/app/controllers/admin/research/journals/paper_kinds_controller.rb
index d092ab86f..c69e6656c 100644
--- a/app/controllers/admin/research/journals/paper_kinds_controller.rb
+++ b/app/controllers/admin/research/journals/paper_kinds_controller.rb
@@ -8,7 +8,12 @@ class Admin::Research::Journals::PaperKindsController < Admin::Research::Journal
   def show
     breadcrumb
   end
-  
+
+  def static
+    @about = @paper_kind
+    render layout: false
+  end
+
   def new
     breadcrumb
   end
diff --git a/app/controllers/admin/research/journals/papers_controller.rb b/app/controllers/admin/research/journals/papers_controller.rb
index c36b463e4..afac001f7 100644
--- a/app/controllers/admin/research/journals/papers_controller.rb
+++ b/app/controllers/admin/research/journals/papers_controller.rb
@@ -11,6 +11,11 @@ class Admin::Research::Journals::PapersController < Admin::Research::Journals::A
     breadcrumb
   end
 
+  def static
+    @about = @paper
+    render layout: false
+  end
+
   def new
     breadcrumb
   end
diff --git a/app/controllers/admin/research/journals/volumes_controller.rb b/app/controllers/admin/research/journals/volumes_controller.rb
index f8395fa9e..a56c41a1f 100644
--- a/app/controllers/admin/research/journals/volumes_controller.rb
+++ b/app/controllers/admin/research/journals/volumes_controller.rb
@@ -11,6 +11,11 @@ class Admin::Research::Journals::VolumesController < Admin::Research::Journals::
     breadcrumb
   end
 
+  def static
+    @about = @volume
+    render layout: false
+  end
+
   def new
     breadcrumb
   end
diff --git a/app/views/admin/research/journals/paper_kinds/show.html.erb b/app/views/admin/research/journals/paper_kinds/show.html.erb
index c3e4d4626..999133df8 100644
--- a/app/views/admin/research/journals/paper_kinds/show.html.erb
+++ b/app/views/admin/research/journals/paper_kinds/show.html.erb
@@ -2,6 +2,9 @@
 
 <% content_for :action_bar_left do %>
   <%= destroy_link @paper_kind %>
+  <%= link_to t('static'),
+            static_admin_research_journal_paper_kind_path(@paper_kind),
+            class: button_classes('btn-light') if current_user.server_admin? %>
 <% end %>
 
 <% content_for :action_bar_right do %>
diff --git a/app/views/admin/research/journals/paper_kinds/static.html.erb b/app/views/admin/research/journals/paper_kinds/static.html.erb
new file mode 100644
index 000000000..2e4291d1f
--- /dev/null
+++ b/app/views/admin/research/journals/paper_kinds/static.html.erb
@@ -0,0 +1,5 @@
+---
+title: >-
+  <%= prepare_text_for_static @about.title %>
+slug: "<%= @about.slug %>"
+---
diff --git a/app/views/admin/research/journals/papers/show.html.erb b/app/views/admin/research/journals/papers/show.html.erb
index f3bf6ca7c..e4486146c 100644
--- a/app/views/admin/research/journals/papers/show.html.erb
+++ b/app/views/admin/research/journals/papers/show.html.erb
@@ -65,6 +65,9 @@
 
 <% content_for :action_bar_left do %>
   <%= destroy_link @paper %>
+  <%= link_to t('static'),
+            static_admin_research_journal_paper_path(@paper),
+            class: button_classes('btn-light') if current_user.server_admin? %>
 <% end %>
 
 <% content_for :action_bar_right do %>
diff --git a/app/views/admin/research/journals/papers/static.html.erb b/app/views/admin/research/journals/papers/static.html.erb
index 3e38a4349..5201f053a 100644
--- a/app/views/admin/research/journals/papers/static.html.erb
+++ b/app/views/admin/research/journals/papers/static.html.erb
@@ -1,5 +1,6 @@
 ---
-title: "<%= @about.title %>"
+title: >-
+  <%= prepare_text_for_static @about.title %>
 slug: "<%= @about.slug %>"
 <% if @about.volume && @about.volume.path %>
 volumes:
diff --git a/app/views/admin/research/journals/volumes/show.html.erb b/app/views/admin/research/journals/volumes/show.html.erb
index 3294c87dc..965cc56a4 100644
--- a/app/views/admin/research/journals/volumes/show.html.erb
+++ b/app/views/admin/research/journals/volumes/show.html.erb
@@ -74,6 +74,9 @@
 
 <% content_for :action_bar_left do %>
   <%= destroy_link @volume %>
+  <%= link_to t('static'),
+        static_admin_research_journal_volume_path(@volume),
+        class: button_classes('btn-light') if current_user.server_admin? %>
 <% end %>
 
 <% content_for :action_bar_right do %>
diff --git a/app/views/admin/research/journals/volumes/static.html.erb b/app/views/admin/research/journals/volumes/static.html.erb
index 284cefba7..4400d5ea2 100644
--- a/app/views/admin/research/journals/volumes/static.html.erb
+++ b/app/views/admin/research/journals/volumes/static.html.erb
@@ -1,5 +1,6 @@
 ---
-title: "<%= @about.title %>"
+title: >-
+  <%= prepare_text_for_static @about.title %>
 slug: "<%= @about.slug %>"
 number: <%= @about.number %>
 issn: "<%= @about.journal.issn %>"
diff --git a/config/routes/admin/research.rb b/config/routes/admin/research.rb
index a0a44bd5e..7a0982cf6 100644
--- a/config/routes/admin/research.rb
+++ b/config/routes/admin/research.rb
@@ -1,13 +1,24 @@
 namespace :research do
   resources :researchers, only: [:index, :show]
   resources :journals do
-    resources :volumes, controller: 'journals/volumes'
+    resources :volumes, controller: 'journals/volumes' do
+      member do
+        get :static
+      end
+    end
     resources :papers, controller: 'journals/papers' do
       collection do
         post :reorder
       end
+      member do
+        get :static
+      end
+    end
+    resources :paper_kinds, controller: 'journals/paper_kinds' do
+      member do
+        get :static
+      end
     end
-    resources :paper_kinds, controller: 'journals/paper_kinds'
   end
   resources :laboratories do
     resources :axes, controller: 'laboratories/axes' do
-- 
GitLab