From 609709af1f2655ff151558f98aee5ddba7f1e032 Mon Sep 17 00:00:00 2001
From: Arnaud Levy <contact@arnaudlevy.com>
Date: Thu, 17 Feb 2022 12:17:39 +0100
Subject: [PATCH] desc seo and open link

---
 app/models/communication/website/page.rb                  | 6 ++++++
 app/models/communication/website/post.rb                  | 6 ++++++
 app/views/admin/communication/website/pages/show.html.erb | 8 ++++++++
 app/views/admin/communication/website/posts/show.html.erb | 8 ++++++++
 config/locales/communication/en.yml                       | 2 +-
 config/locales/communication/fr.yml                       | 2 +-
 config/locales/education/en.yml                           | 2 +-
 config/locales/education/fr.yml                           | 2 +-
 config/locales/en.yml                                     | 1 +
 config/locales/fr.yml                                     | 1 +
 config/locales/research/en.yml                            | 4 ++--
 config/locales/research/fr.yml                            | 4 ++--
 config/locales/university/en.yml                          | 4 ++--
 config/locales/university/fr.yml                          | 4 ++--
 14 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/app/models/communication/website/page.rb b/app/models/communication/website/page.rb
index 9ad8b4439..fa9ffcd3b 100644
--- a/app/models/communication/website/page.rb
+++ b/app/models/communication/website/page.rb
@@ -85,6 +85,12 @@ class Communication::Website::Page < ApplicationRecord
     [self] + descendents + active_storage_blobs
   end
 
+  def url
+    return unless published
+    return if website.url.blank?
+    "#{website.url}#{path}"
+  end
+
   def to_s
     "#{title}"
   end
diff --git a/app/models/communication/website/post.rb b/app/models/communication/website/post.rb
index 21ab6e532..2a927140f 100644
--- a/app/models/communication/website/post.rb
+++ b/app/models/communication/website/post.rb
@@ -82,6 +82,12 @@ class Communication::Website::Post < ApplicationRecord
     [self] + explicit_active_storage_blobs
   end
 
+  def url
+    return unless published
+    return if website.url.blank?
+    "#{website.url}#{path}"
+  end
+
   def to_s
     "#{title}"
   end
diff --git a/app/views/admin/communication/website/pages/show.html.erb b/app/views/admin/communication/website/pages/show.html.erb
index 0300058af..8fcde4861 100644
--- a/app/views/admin/communication/website/pages/show.html.erb
+++ b/app/views/admin/communication/website/pages/show.html.erb
@@ -18,6 +18,14 @@
     <div class="col-md-4">
       <div class="card flex-fill w-100">
         <div class="card-header">
+          <div class="float-end">
+            <% if @page.url %>
+              <%= link_to t('open'),
+                          @page.url,
+                          target: :_blank,
+                          class: 'btn btn-light' %>
+            <% end %>
+          </div>
           <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2>
         </div>
         <div class="card-body">
diff --git a/app/views/admin/communication/website/posts/show.html.erb b/app/views/admin/communication/website/posts/show.html.erb
index cfa349ba6..78d2f5240 100644
--- a/app/views/admin/communication/website/posts/show.html.erb
+++ b/app/views/admin/communication/website/posts/show.html.erb
@@ -17,6 +17,14 @@
     <div class="col-md-4">
       <div class="card flex-fill w-100">
         <div class="card-header">
+          <div class="float-end">
+            <% if @post.url %>
+              <%= link_to t('open'),
+                          @post.url,
+                          target: :_blank,
+                          class: 'btn btn-light' %>
+            <% end %>
+          </div>
           <h2 class="card-title mb-0 h5"><%= t('metadata') %></h2>
         </div>
         <div class="card-body">
diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml
index f7cc60ce5..15be4d2dd 100644
--- a/config/locales/communication/en.yml
+++ b/config/locales/communication/en.yml
@@ -51,7 +51,7 @@ en:
         template: Kind of block
       communication/website/category:
         children: Children categories
-        description: Description
+        description: Description (SEO)
         name: Name
         parent: Parent category
         slug: Slug
diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml
index c840b2974..36085fabd 100644
--- a/config/locales/communication/fr.yml
+++ b/config/locales/communication/fr.yml
@@ -54,7 +54,7 @@ fr:
         template: Type de bloc
       communication/website/category:
         children: Catégories enfants
-        description: Description
+        description: Description (SEO)
         name: Nom
         parent: Catégorie parente
         slug: Slug
diff --git a/config/locales/education/en.yml b/config/locales/education/en.yml
index d1f9e138e..f024abf80 100644
--- a/config/locales/education/en.yml
+++ b/config/locales/education/en.yml
@@ -16,7 +16,7 @@ en:
         capacity: Capacity
         contacts: Contacts
         continuing: Formation continue
-        description: Description
+        description: Description (SEO)
         duration: Durée
         ects: Crédits ECTS
         evaluation: Modalités d’évaluation
diff --git a/config/locales/education/fr.yml b/config/locales/education/fr.yml
index e8db3e7b7..dd5179c79 100644
--- a/config/locales/education/fr.yml
+++ b/config/locales/education/fr.yml
@@ -16,7 +16,7 @@ fr:
         capacity: Capacité
         contacts: Contacts
         continuing: Formation continue
-        description: Description
+        description: Description (SEO)
         duration: Durée
         ects: Crédits ECTS
         evaluation: Modalités d’évaluation
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 1e7b63f44..cf1d5cfe7 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -118,6 +118,7 @@ en:
     server_admin: Admin server
     sign_out: Log out
   metadata: Metadata
+  open: Open
   please_confirm: Are you sure?
   please_confirm_with_children: "WARNING: deleting this element will also remove every child. Are you sure?"
   preview:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 5cedc06f5..ffe93797d 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -118,6 +118,7 @@ fr:
     server_admin: Admin serveur
     sign_out: Déconnexion
   metadata: Informations
+  open: Ouvrir
   please_confirm: Est-ce que vous confirmez ?
   please_confirm_with_children: "ATTENTION : effacer cet élément supprimera aussi tous ses enfants. Est-ce que vous confirmez ?"
   preview:
diff --git a/config/locales/research/en.yml b/config/locales/research/en.yml
index fc5ed6bf8..a2d811b11 100644
--- a/config/locales/research/en.yml
+++ b/config/locales/research/en.yml
@@ -39,7 +39,7 @@ en:
       research/journal/volume:
         featured_image: Cover
         featured_image_alt: Alt text
-        description: Description
+        description: Description (SEO)
         keywords: Keywords
         number: Number
         published: Published?
@@ -52,7 +52,7 @@ en:
         name: Name
         zipcode: Zipcode
       research/laboratory/axis:
-        description: Description
+        description: Description (SEO)
         name: Name
         short_name: Short name
         text: Text
diff --git a/config/locales/research/fr.yml b/config/locales/research/fr.yml
index f7d6dc7d4..74eaf696e 100644
--- a/config/locales/research/fr.yml
+++ b/config/locales/research/fr.yml
@@ -39,7 +39,7 @@ fr:
       research/journal/volume:
         featured_image: Couverture
         featured_image_alt: Texte alternatif
-        description: Description
+        description: Description (SEO)
         keywords: Mots clés
         number: Numéro
         published: Publié ?
@@ -52,7 +52,7 @@ fr:
         name: Nom
         zipcode: Code postal
       research/laboratory/axis:
-        description: Description
+        description: Description (SEO)
         name: Nom
         short_name: Nom court
         text: Texte
diff --git a/config/locales/university/en.yml b/config/locales/university/en.yml
index 1a3509ab4..a61d7c284 100644
--- a/config/locales/university/en.yml
+++ b/config/locales/university/en.yml
@@ -18,7 +18,7 @@ en:
         abilities: Abilities
         biography: Biography
         communication_website_posts: Posts
-        description: Description
+        description: Description (SEO)
         education_programs: Programs
         email: Email
         first_name: First name
@@ -39,7 +39,7 @@ en:
         person: Person
         target_id: ''
       university/role:
-        description: Description
+        description: Description (SEO)
         people: People
     models:
       university:
diff --git a/config/locales/university/fr.yml b/config/locales/university/fr.yml
index 8159e8df8..b10a6d36c 100644
--- a/config/locales/university/fr.yml
+++ b/config/locales/university/fr.yml
@@ -18,7 +18,7 @@ fr:
         abilities: Responsabilités
         biography: Biographie
         communication_website_posts: Actualités
-        description: Description
+        description: Description (SEO)
         education_programs: Formations
         email: Email
         first_name: Prénom
@@ -39,7 +39,7 @@ fr:
         person: Personne
         target_id: ''
       university/role:
-        description: Description
+        description: Description (SEO)
         people: Personnes
     models:
       university:
-- 
GitLab