]> git.openstreetmap.org Git - rails.git/commitdiff
Convert Auth.providers into array
authorAnton Khorev <tony29@yandex.ru>
Fri, 3 Jan 2025 11:09:53 +0000 (14:09 +0300)
committerAnton Khorev <tony29@yandex.ru>
Fri, 3 Jan 2025 11:09:53 +0000 (14:09 +0300)
app/views/accounts/edit.html.erb
app/views/application/_auth_providers.html.erb
lib/auth.rb

index a3e6f943bb9ef714979811c8c1c2e56015990a07..e31c5e90d2a7508e770a0870bde1a92e82712f5c 100644 (file)
   <fieldset class="mb-3">
     <label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label>
     <div class="row">
   <fieldset class="mb-3">
     <label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label>
     <div class="row">
-      <%= f.select(:auth_provider, { t("auth.providers.none") => "" }.merge(Auth.providers), :hide_label => true, :wrapper => { :class => "col-auto mb-0" }) %>
+      <%= f.select :auth_provider,
+                   Auth.providers.map { |provider| [I18n.t("auth.providers.#{provider}"), provider] },
+                   :include_blank => t("auth.providers.none"),
+                   :hide_label => true,
+                   :wrapper => { :class => "col-auto mb-0" } %>
       <%= f.text_field(:auth_uid, :hide_label => true, :wrapper => { :class => "col mb-0" }) %>
     </div>
     <small class="form-text text-body-secondary">(<a href="<%= t ".openid.link" %>" target="_new"><%= t ".openid.link text" %></a>)</small>
       <%= f.text_field(:auth_uid, :hide_label => true, :wrapper => { :class => "col mb-0" }) %>
     </div>
     <small class="form-text text-body-secondary">(<a href="<%= t ".openid.link" %>" target="_new"><%= t ".openid.link text" %></a>)</small>
index 3feda6139a4473b637ae4d678fd90da8f6879be6..3edc6edd2476d9a8fd195867f7d01b832c7f29eb 100644 (file)
@@ -1,4 +1,4 @@
-<% prefered_auth_button_available = @preferred_auth_provider != "openid" && Auth.providers.value?(@preferred_auth_provider) %>
+<% prefered_auth_button_available = @preferred_auth_provider != "openid" && Auth.providers.include?(@preferred_auth_provider) %>
 
 <div>
   <%= tag.div :id => "login_auth_buttons",
 
 <div>
   <%= tag.div :id => "login_auth_buttons",
@@ -11,7 +11,7 @@
     <% end %>
 
     <div class="col justify-content-center d-flex align-items-center flex-wrap gap-2">
     <% end %>
 
     <div class="col justify-content-center d-flex align-items-center flex-wrap gap-2">
-      <% Auth.providers.each_value do |provider| %>
+      <% Auth.providers.each do |provider| %>
         <% if provider == "openid" %>
           <%= button_tag image_tag("auth_providers/openid.svg",
                                    :alt => t(".openid.alt"),
         <% if provider == "openid" %>
           <%= button_tag image_tag("auth_providers/openid.svg",
                                    :alt => t(".openid.alt"),
index 729772477757ac810113e6abf77a92fead58e904..2c6d0c1d7036ad5f4f2d4f1e6a53593f3048b65d 100644 (file)
@@ -1,15 +1,13 @@
 module Auth
 module Auth
-  @providers = {}
+  @providers = ["openid"]
+  @providers << "google" if Settings.key?(:google_auth_id)
+  @providers << "facebook" if Settings.key?(:facebook_auth_id)
+  @providers << "microsoft" if Settings.key?(:microsoft_auth_id)
+  @providers << "github" if Settings.key?(:github_auth_id)
+  @providers << "wikipedia" if Settings.key?(:wikipedia_auth_id)
+  @providers.freeze
 
   def self.providers
 
   def self.providers
-    @providers[I18n.locale] ||= {
-      I18n.t("auth.providers.openid") => "openid"
-    }.tap do |providers|
-      providers[I18n.t("auth.providers.google")] = "google" if Settings.key?(:google_auth_id)
-      providers[I18n.t("auth.providers.facebook")] = "facebook" if Settings.key?(:facebook_auth_id)
-      providers[I18n.t("auth.providers.microsoft")] = "microsoft" if Settings.key?(:microsoft_auth_id)
-      providers[I18n.t("auth.providers.github")] = "github" if Settings.key?(:github_auth_id)
-      providers[I18n.t("auth.providers.wikipedia")] = "wikipedia" if Settings.key?(:wikipedia_auth_id)
-    end.freeze
+    @providers
   end
 end
   end
 end