From 615a6693457e01679cdbe4b3e69b1b121ae7a1de Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Fri, 3 Jan 2025 14:09:53 +0300 Subject: [PATCH] Convert Auth.providers into array --- app/views/accounts/edit.html.erb | 6 +++++- app/views/application/_auth_providers.html.erb | 4 ++-- lib/auth.rb | 18 ++++++++---------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/views/accounts/edit.html.erb b/app/views/accounts/edit.html.erb index a3e6f943b..e31c5e90d 100644 --- a/app/views/accounts/edit.html.erb +++ b/app/views/accounts/edit.html.erb @@ -19,7 +19,11 @@
- <%= 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" }) %>
(" target="_new"><%= t ".openid.link text" %>) diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb index 3feda6139..3edc6edd2 100644 --- a/app/views/application/_auth_providers.html.erb +++ b/app/views/application/_auth_providers.html.erb @@ -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) %>
<%= tag.div :id => "login_auth_buttons", @@ -11,7 +11,7 @@ <% end %>
- <% 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"), diff --git a/lib/auth.rb b/lib/auth.rb index 729772477..2c6d0c1d7 100644 --- a/lib/auth.rb +++ b/lib/auth.rb @@ -1,15 +1,13 @@ 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 - @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 -- 2.39.5