Cache OpenID provider names on a per-locale basis

Fixes #2591
This commit is contained in:
Tom Hughes 2020-04-15 22:48:28 +01:00
parent 6ad0340b05
commit 9b634f3493
3 changed files with 16 additions and 12 deletions

View file

@ -1,12 +1,16 @@
module Auth
PROVIDERS = {
I18n.t("auth.providers.none") => "",
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.windowslive")] = "windowslive" if Settings.key?(:windowslive_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 = {}
def self.providers
@providers[I18n.locale] ||= {
I18n.t("auth.providers.none") => "",
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.windowslive")] = "windowslive" if Settings.key?(:windowslive_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
end
end