Add an oauth provider path helper.

The helper constructs the path for a given oauth provider since Devise 4.0 deprecated passing the provider to the omniauth authentication path.

Fixes #18110.
This commit is contained in:
Connor Shea 2016-07-18 15:14:30 -06:00
parent bbb044e116
commit e8c6f119cd
No known key found for this signature in database
GPG Key ID: 1993299A3C9BE6CF
5 changed files with 10 additions and 4 deletions

View File

@ -101,7 +101,7 @@ class SessionsController < Devise::SessionsController
# Prevent alert from popping up on the first page shown after authentication.
flash[:alert] = nil
redirect_to user_omniauth_authorize_path(provider.to_sym)
redirect_to provider_path(provider)
end
def valid_otp_attempt?(user)

View File

@ -60,6 +60,12 @@ module AuthHelper
end
end
# Constructs the OAuth provider path.
# For example: user_google_omniauth_authorize_path
def provider_path(provider)
send("user_#{provider.underscore}_omniauth_authorize_path")
end
def auth_active?(provider)
current_user.identities.exists?(provider: provider.to_s)
end

View File

@ -1,4 +1,4 @@
= form_tag(user_omniauth_authorize_path("crowd"), id: 'new_crowd_user' ) do
= form_tag(provider_path("crowd"), id: 'new_crowd_user' ) do
= text_field_tag :username, nil, {class: "form-control top", placeholder: "Username", autofocus: "autofocus"}
= password_field_tag :password, nil, {class: "form-control bottom", placeholder: "Password"}
- if devise_mapping.rememberable?

View File

@ -5,4 +5,4 @@
- providers.each do |provider|
%span.light
- has_icon = provider_has_icon?(provider)
= link_to provider_image_tag(provider), user_omniauth_authorize_path(provider), method: :post, class: (has_icon ? 'oauth-image-link' : 'btn'), "data-no-turbolink" => "true"
= link_to provider_image_tag(provider), provider_path(provider), method: :post, class: (has_icon ? 'oauth-image-link' : 'btn'), "data-no-turbolink" => "true"

View File

@ -70,7 +70,7 @@
= link_to unlink_profile_account_path(provider: provider), method: :delete, class: 'provider-btn' do
Disconnect
- else
= link_to user_omniauth_authorize_path(provider), method: :post, class: 'provider-btn not-active', "data-no-turbolink" => "true" do
= link_to provider_path(provider), method: :post, class: 'provider-btn not-active', "data-no-turbolink" => "true" do
Connect
%hr
- if current_user.can_change_username?