diff --git a/app/controllers/devise/unlocks_controller.rb b/app/controllers/devise/unlocks_controller.rb index ef90a825..953e076d 100644 --- a/app/controllers/devise/unlocks_controller.rb +++ b/app/controllers/devise/unlocks_controller.rb @@ -11,7 +11,7 @@ class Devise::UnlocksController < DeviseController self.resource = resource_class.send_unlock_instructions(params[resource_name]) if successfully_sent?(resource) - respond_with({}, :location => new_session_path(resource_name)) + respond_with({}, :location => after_sending_reset_unlock_instructions_path_for(resource)) else respond_with(resource) end @@ -23,9 +23,22 @@ class Devise::UnlocksController < DeviseController if resource.errors.empty? set_flash_message :notice, :unlocked if is_navigational_format? - respond_with_navigational(resource){ redirect_to new_session_path(resource) } + respond_with_navigational(resource){ redirect_to after_unlock_path_for(resource) } else respond_with_navigational(resource.errors, :status => :unprocessable_entity){ render :new } end end + + protected + + # The path used after sending unlock password instructions + def after_sending_reset_unlock_instructions_path_for(resource) + new_session_path(resource) + end + + # The path used after unlocking the resource + def after_unlock_path_for(resource) + new_session_path(resource) + end + end