From 5322639f6f670971360d3ef733ec7e5b9f424b9c Mon Sep 17 00:00:00 2001
From: Arnaud Levy <contact@arnaudlevy.com>
Date: Wed, 27 Jul 2022 10:59:48 +0200
Subject: [PATCH] Fix #483

---
 app/controllers/admin/education/diplomas_controller.rb | 6 ++++++
 app/models/education/diploma.rb                        | 1 +
 app/views/admin/education/diplomas/show.html.erb       | 5 +++++
 app/views/admin/education/diplomas/static.html.erb     | 1 +
 config/routes/admin/education.rb                       | 6 +++++-
 5 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/app/controllers/admin/education/diplomas_controller.rb b/app/controllers/admin/education/diplomas_controller.rb
index c01478528..b05767a14 100644
--- a/app/controllers/admin/education/diplomas_controller.rb
+++ b/app/controllers/admin/education/diplomas_controller.rb
@@ -11,6 +11,12 @@ class Admin::Education::DiplomasController < Admin::Education::ApplicationContro
     breadcrumb
   end
 
+  def static
+    @about = @diploma
+    @website = @diploma.websites&.first
+    render layout: false
+  end
+
   def new
     breadcrumb
   end
diff --git a/app/models/education/diploma.rb b/app/models/education/diploma.rb
index cdbb4aef7..c75d71cc1 100644
--- a/app/models/education/diploma.rb
+++ b/app/models/education/diploma.rb
@@ -23,6 +23,7 @@
 #
 class Education::Diploma < ApplicationRecord
   include WithUniversity
+  include WithBlocks
   include WithGit
   include WithSlug
 
diff --git a/app/views/admin/education/diplomas/show.html.erb b/app/views/admin/education/diplomas/show.html.erb
index 8955a3fc5..965286b07 100644
--- a/app/views/admin/education/diplomas/show.html.erb
+++ b/app/views/admin/education/diplomas/show.html.erb
@@ -2,6 +2,7 @@
 
 <div class="row">
   <div class="col-lg-8">
+    <%= render 'admin/communication/blocks/list', about: @diploma %>
     <div class="card flex-fill w-100">
       <div class="card-header">
         <h2 class="card-title mb-0 h5">
@@ -11,6 +12,7 @@
       <%= render 'admin/education/programs/list',
                   programs: @programs,
                   hide_diploma: true %>
+      
     </div>
   </div>
   <div class="col-lg-4">
@@ -37,6 +39,9 @@
 
 <% content_for :action_bar_left do %>
   <%= destroy_link @diploma %>
+  <%= link_to t('static'),
+              static_admin_education_diploma_path(@diploma),
+              class: button_classes('btn-light') if current_user.server_admin? %>
 <% end %>
 
 <% content_for :action_bar_right do %>
diff --git a/app/views/admin/education/diplomas/static.html.erb b/app/views/admin/education/diplomas/static.html.erb
index 57d628471..66af43f70 100644
--- a/app/views/admin/education/diplomas/static.html.erb
+++ b/app/views/admin/education/diplomas/static.html.erb
@@ -8,4 +8,5 @@ level: <%= @about.level_i18n %>
 ects: <%= @about.ects %>
 duration: >
   <%= prepare_text_for_static @about.duration %>
+<%= render 'admin/communication/blocks/static', about: @about %>
 ---
diff --git a/config/routes/admin/education.rb b/config/routes/admin/education.rb
index 39576a5ed..e49cba17a 100644
--- a/config/routes/admin/education.rb
+++ b/config/routes/admin/education.rb
@@ -36,5 +36,9 @@ namespace :education do
   end
   resources :academic_years
   resources :cohorts, only: [:index, :show]
-  resources :diplomas
+  resources :diplomas do
+    member do
+      get :static
+    end
+  end
 end
-- 
GitLab