class Devise::PasswordsController
def after_sending_reset_password_instructions_path_for(resource_name)
def after_sending_reset_password_instructions_path_for(resource_name) new_session_path(resource_name) end
def assert_reset_token_passed
def assert_reset_token_passed if params[:reset_password_token].blank? set_flash_message(:error, :no_token) redirect_to new_session_path(resource_name) end end
def create
def create self.resource = resource_class.send_reset_password_instructions(resource_params) if successfully_sent?(resource) respond_with({}, :location => after_sending_reset_password_instructions_path_for(resource_name)) else respond_with(resource) end end
def edit
def edit self.resource = resource_class.new resource.reset_password_token = params[:reset_password_token] end
def new
def new build_resource({}) end
def unlockable?(resource)
Check if proper Lockable module methods are present & unlock strategy
def unlockable?(resource) resource.respond_to?(:unlock_access!) && resource.respond_to?(:unlock_strategy_enabled?) && resource.unlock_strategy_enabled?(:email) end
def update
def update self.resource = resource_class.reset_password_by_token(resource_params) if resource.errors.empty? resource.unlock_access! if unlockable?(resource) flash_message = resource.active_for_authentication? ? :updated : :updated_not_active set_flash_message(:notice, flash_message) if is_navigational_format? sign_in(resource_name, resource) respond_with resource, :location => after_sign_in_path_for(resource) else respond_with resource end end