From 4bbc5f4536d14efce128a446e4c932663ac30dec Mon Sep 17 00:00:00 2001
From: pabois <pierreandre.boissinot@noesya.coop>
Date: Thu, 22 Jun 2023 15:34:58 +0200
Subject: [PATCH] facto ugly method

---
 app/helpers/application_helper.rb                        | 5 +++++
 app/views/admin/application/i18n/_widget.html.erb        | 2 +-
 app/views/admin/communication/websites/_form.html.erb    | 2 +-
 app/views/admin/communication/websites/_sidebar.html.erb | 2 +-
 4 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index de7c091e8..2e91e15aa 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -49,4 +49,9 @@ module ApplicationHelper
   def masked_phone(string)
     string.gsub(/(?<=.{3}).+(?=.{2})/, '*******')
   end
+
+  def language_name(iso_code)
+    I18nData.languages(I18n.locale)[iso_code.to_s.upcase].titleize
+  end
+
 end
diff --git a/app/views/admin/application/i18n/_widget.html.erb b/app/views/admin/application/i18n/_widget.html.erb
index 4fd0ee14c..855225de8 100644
--- a/app/views/admin/application/i18n/_widget.html.erb
+++ b/app/views/admin/application/i18n/_widget.html.erb
@@ -7,7 +7,7 @@
     <ol class="list-unstyled">
       <% about.available_languages.each do |language| %>
         <%
-        label = I18nData.languages(I18n.locale)[language.iso_code.to_s.upcase].titleize
+        label = language_name(language.iso_code)
         current = language.id == about.language_id
         %>
         <li><%= link_to_unless current, label, [*route_args, lang: language.iso_code] %></li>
diff --git a/app/views/admin/communication/websites/_form.html.erb b/app/views/admin/communication/websites/_form.html.erb
index e61ee6a72..5433758d3 100644
--- a/app/views/admin/communication/websites/_form.html.erb
+++ b/app/views/admin/communication/websites/_form.html.erb
@@ -8,7 +8,7 @@
         <%= f.input :name %>
         <%= f.input :url %>
         <%= render 'admin/communication/abouts', f: f, i18n_key: 'activerecord.attributes.communication/website.about_' %>
-        <%= f.association :languages, as: :check_boxes, required: true, wrapper_html: { class: "js-languages" }, label_method: lambda { |l| I18nData.languages(I18n.locale)[l.iso_code.to_s.upcase].titleize } %>
+        <%= f.association :languages, as: :check_boxes, required: true, wrapper_html: { class: "js-languages" }, label_method: lambda { |l| language_name(l.iso_code) } %>
         <%= f.association :default_language, include_blank: t('simple_form.include_blanks.defaults.language'), input_html: (@website.persisted? ? { disabled: true } : { class: "js-default-language" }) %>
         <%= f.input :in_production %>
       <% end %>
diff --git a/app/views/admin/communication/websites/_sidebar.html.erb b/app/views/admin/communication/websites/_sidebar.html.erb
index 145a0cc09..b0cf06afc 100644
--- a/app/views/admin/communication/websites/_sidebar.html.erb
+++ b/app/views/admin/communication/websites/_sidebar.html.erb
@@ -53,7 +53,7 @@
       <select class="form-control form-select mt-5"  onchange="if (this.value) window.location.href=this.value">
         <% @website.languages.each do |language| %>
           <%
-          label = I18nData.languages(I18n.locale)[language.iso_code.to_s.upcase].titleize
+          label = language_name(language.iso_code)
           path = url_for request.params.merge(lang: language.iso_code)
           selected = current_website_language == language
           %>
-- 
GitLab