Skip to content

Commit 242a515

Browse files
committed
Show a deprecation message for legacy routes
1 parent bd2e854 commit 242a515

File tree

7 files changed

+66
-20
lines changed

7 files changed

+66
-20
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# frozen_string_literal: true
2+
3+
module SolidusAuthDevise
4+
module DeprecatedRoutes
5+
extend ActiveSupport::Concern
6+
7+
included do
8+
before_action :deprecates_solidus_auth_devise_routes
9+
end
10+
11+
private
12+
13+
def deprecates_solidus_auth_devise_routes
14+
if params[:deprecated_route]
15+
Spree::Deprecation.warn(
16+
<<~TEXT
17+
This route is deprecated: #{request.fullpath.inspect}.
18+
It will be removed in solidus_auth_devise v3.
19+
If you want to continue using this route please define it in your application code:
20+
21+
Spree::Core::Engine.routes.draw do
22+
devise_scope :spree_user do
23+
#{request.method.downcase} #{request.fullpath.inspect}, to: #{controller_path}##{action_name}, ...
24+
end
25+
end
26+
27+
Please check your application for places in which this route was generated.
28+
29+
TEXT
30+
)
31+
end
32+
end
33+
end
34+
end

config/routes.rb

+22-20
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,30 @@
3535
#
3636
# These are deprecated but we still want to support the incoming routes, in order to give existing stores an upgrade path.
3737
# Will be removed at the next major release of solidus_auth_devise.
38-
get '/user/spree_user/password/edit' => 'user_passwords#edit', as: :deprecated_edit_spree_user_password
39-
get '/password/change' => 'user_passwords#edit', as: :edit_spree_user_password
40-
get '/user/spree_user/password/new' => 'user_passwords#new', as: :deprecated_new_spree_user_password
41-
get '/password/recover' => 'user_passwords#new', as: :new_spree_user_password
42-
match '/user/spree_user/password' => 'user_passwords#update', via: [:patch, :put], as: :deprecated_spree_user_password
43-
put '/password/change' => 'user_passwords#update', as: :spree_user_password
44-
post '/user/spree_user/password' => 'user_passwords#create', as: nil
38+
with_options deprecated_route: true do
39+
get '/user/spree_user/password/edit' => 'user_passwords#edit', as: :deprecated_edit_spree_user_password
40+
get '/password/change' => 'user_passwords#edit', as: :edit_spree_user_password
41+
get '/user/spree_user/password/new' => 'user_passwords#new', as: :deprecated_new_spree_user_password
42+
get '/password/recover' => 'user_passwords#new', as: :new_spree_user_password
43+
match '/user/spree_user/password' => 'user_passwords#update', via: [:patch, :put], as: :deprecated_spree_user_password
44+
put '/password/change' => 'user_passwords#update', as: :spree_user_password
45+
post '/user/spree_user/password' => 'user_passwords#create', as: nil
4546

46-
get '/login' => 'user_sessions#new', as: :new_spree_user_session
47-
get '/user/spree_user/sign_in' => 'user_sessions#new', as: :deprecated_new_spree_user_session
48-
match '/user/spree_user/logout' => 'user_sessions#destroy', via: Devise.sign_out_via, as: :deprecated_destroy_spree_user_session
49-
match '/logout' => 'user_sessions#destroy', via: Devise.sign_out_via, as: :destroy_spree_user_session
50-
post '/user/spree_user/sign_in' => 'user_sessions#create', as: :deprecated_spree_user_session
51-
post '/login' => 'user_sessions#create', as: :spree_user_session
47+
get '/login' => 'user_sessions#new', as: :new_spree_user_session
48+
get '/user/spree_user/sign_in' => 'user_sessions#new', as: :deprecated_new_spree_user_session
49+
match '/user/spree_user/logout' => 'user_sessions#destroy', via: Devise.sign_out_via, as: :deprecated_destroy_spree_user_session
50+
match '/logout' => 'user_sessions#destroy', via: Devise.sign_out_via, as: :destroy_spree_user_session
51+
post '/user/spree_user/sign_in' => 'user_sessions#create', as: :deprecated_spree_user_session
52+
post '/login' => 'user_sessions#create', as: :spree_user_session
5253

53-
get '/user/spree_user/sign_up' => 'user_registrations#new', as: :deprecated_new_spree_user_registration
54-
get '/signup' => 'user_registrations#new', as: :new_spree_user_registration
55-
post '/user/spree_user' => 'user_registrations#create', as: nil
56-
get '/user/spree_user/cancel' => 'user_registrations#cancel', as: :cancel_spree_user_registration
57-
get '/user/spree_user/edit' => 'user_registrations#edit', as: :edit_spree_user_registration
58-
delete '/user/spree_user' => 'user_registrations#destroy', as: nil
59-
match '/user/spree_user' => 'user_registrations#update', as: :spree_user_registration, via: [:patch, :put]
54+
get '/user/spree_user/sign_up' => 'user_registrations#new', as: :deprecated_new_spree_user_registration
55+
get '/signup' => 'user_registrations#new', as: :new_spree_user_registration
56+
post '/user/spree_user' => 'user_registrations#create', as: nil
57+
get '/user/spree_user/cancel' => 'user_registrations#cancel', as: :cancel_spree_user_registration
58+
get '/user/spree_user/edit' => 'user_registrations#edit', as: :edit_spree_user_registration
59+
delete '/user/spree_user' => 'user_registrations#destroy', as: nil
60+
match '/user/spree_user' => 'user_registrations#update', as: :spree_user_registration, via: [:patch, :put]
61+
end
6062
end
6163

6264
get '/checkout/registration', to: 'checkout#registration', as: :checkout_registration

lib/controllers/frontend/spree/user_confirmations_controller.rb

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ class Spree::UserConfirmationsController < Devise::ConfirmationsController
88
include Spree::Core::ControllerHelpers::Order
99
include Spree::Core::ControllerHelpers::Store
1010

11+
include SolidusAuthDevise::DeprecatedRoutes
12+
1113
protected
1214

1315
def after_confirmation_path_for(resource_name, resource)

lib/controllers/frontend/spree/user_passwords_controller.rb

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ class Spree::UserPasswordsController < Devise::PasswordsController
88
include Spree::Core::ControllerHelpers::Order
99
include Spree::Core::ControllerHelpers::Store
1010

11+
include SolidusAuthDevise::DeprecatedRoutes
12+
1113
# Overridden due to bug in Devise.
1214
# respond_with resource, location: new_session_path(resource_name)
1315
# is generating bad url /session/new.user

lib/controllers/frontend/spree/user_registrations_controller.rb

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
88
include Spree::Core::ControllerHelpers::Order
99
include Spree::Core::ControllerHelpers::Store
1010

11+
include SolidusAuthDevise::DeprecatedRoutes
12+
1113
before_action :check_permissions, only: [:edit, :update]
1214
skip_before_action :require_no_authentication
1315

lib/controllers/frontend/spree/user_sessions_controller.rb

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ class Spree::UserSessionsController < Devise::SessionsController
88
include Spree::Core::ControllerHelpers::Order
99
include Spree::Core::ControllerHelpers::Store
1010

11+
include SolidusAuthDevise::DeprecatedRoutes
12+
1113
# This is included in ControllerHelpers::Order. We just want to call
1214
# it after someone has successfully logged in.
1315
after_action :set_current_order, only: :create

lib/controllers/frontend/spree/users_controller.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# frozen_string_literal: true
22

33
class Spree::UsersController < Spree::StoreController
4+
include SolidusAuthDevise::DeprecatedRoutes
5+
46
skip_before_action :set_current_order, only: :show, raise: false
57
prepend_before_action :authorize_actions, only: :new
68

0 commit comments

Comments
 (0)