From 1c1a5cc6ebbc74248f13c0876ca375eb71da41e2 Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Fri, 24 Dec 2021 11:58:44 +0100 Subject: [PATCH] enum --- app/models/communication/website/menu/item.rb | 16 +++++++++--- .../website/menu/items/_form.html.erb | 1 - .../website/menu/items/show.html.erb | 2 +- config/locales/communication/en.yml | 25 +++++++++++-------- config/locales/communication/fr.yml | 25 +++++++++++-------- 5 files changed, 42 insertions(+), 27 deletions(-) diff --git a/app/models/communication/website/menu/item.rb b/app/models/communication/website/menu/item.rb index 538a99285..cebd923e5 100644 --- a/app/models/communication/website/menu/item.rb +++ b/app/models/communication/website/menu/item.rb @@ -44,7 +44,17 @@ class Communication::Website::Menu::Item < ApplicationRecord foreign_key: :parent_id, dependent: :destroy - enum kind: { blank: 0, url: 10, page: 20, programs: 30, program: 31, news: 40, news_category: 41, news_article: 42, staff: 50 }, _prefix: :kind + enum kind: { + blank: 0, + url: 10, + page: 20, + programs: 30, + program: 31, + news: 40, + news_category: 41, + news_article: 42, + staff: 50 + }, _prefix: :kind validates :title, presence: true validates :about, presence: true, if: :has_about? @@ -58,7 +68,7 @@ class Communication::Website::Menu::Item < ApplicationRecord end def static_target - target = + target = '' case self.kind when 'url' target = url @@ -75,7 +85,7 @@ class Communication::Website::Menu::Item < ApplicationRecord else target = about&.path end - target.end_with? "/" ? target + target.end_with?('/') ? target : "#{target}/" end diff --git a/app/views/admin/communication/website/menu/items/_form.html.erb b/app/views/admin/communication/website/menu/items/_form.html.erb index 973295938..e69a39840 100644 --- a/app/views/admin/communication/website/menu/items/_form.html.erb +++ b/app/views/admin/communication/website/menu/items/_form.html.erb @@ -10,7 +10,6 @@ <%= f.input :title %> <%= f.input :kind, include_blank: false, - label_method: -> (p) { I18n.t(p[1], scope: 'enums.communication/website/menu/item.kind') }, input_html: { class: 'js-kind-input', data: { url: kind_switch_admin_communication_website_menu_items_path } diff --git a/app/views/admin/communication/website/menu/items/show.html.erb b/app/views/admin/communication/website/menu/items/show.html.erb index 312dd7bb5..c532a3e1f 100644 --- a/app/views/admin/communication/website/menu/items/show.html.erb +++ b/app/views/admin/communication/website/menu/items/show.html.erb @@ -22,7 +22,7 @@ </div> <div class="card-body"> <h3 class="h5"><%= Communication::Website::Menu::Item.human_attribute_name('kind') %></h3> - <p><%= I18n.t(@item.kind, scope: 'enums.communication/website/menu/item.kind') %></p> + <p><%= @item.kind_i18n %></p> <% if @item.kind_url? %> <h3 class="h5"><%= Communication::Website::Menu::Item.human_attribute_name('url') %></h3> <p><%= link_to @item.url, @item.url, target: '_blank' unless @item.url.blank? %></p> diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml index 8928fa86f..7c289b1bd 100644 --- a/config/locales/communication/en.yml +++ b/config/locales/communication/en.yml @@ -129,14 +129,17 @@ en: new_curation: New curation see_all: See the full list (%{number} elements) enums: - communication/website/menu/item: - kind: - blank: Title - news: News index - news_article: Specific news - news_category: News category - page: Specific Page - program: Specific program - programs: Programs index - staff: Staff - url: URL + communication: + website: + menu: + item: + kind: + blank: Title + news: News index + news_article: Specific news + news_category: News category + page: Specific Page + program: Specific program + programs: Programs index + staff: Staff + url: URL diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml index 57be17030..ce57688d0 100644 --- a/config/locales/communication/fr.yml +++ b/config/locales/communication/fr.yml @@ -119,14 +119,17 @@ fr: new_curation: Nouvelle curation see_all: Voir la liste complète (%{number} éléments) enums: - communication/website/menu/item: - kind: - blank: Titre intermédiaire - news: Index des actualités - news_article: Actualité spécifique - news_category: Catégorie d'actualités - page: Page spécifique - program: Formation spécifique - programs: Index des formations - staff: Équipe - url: URL + communication: + website: + menu: + item: + kind: + blank: Titre intermédiaire + news: Index des actualités + news_article: Actualité spécifique + news_category: Catégorie d'actualités + page: Page spécifique + program: Formation spécifique + programs: Index des formations + staff: Équipe + url: URL -- GitLab