Sha256: c0a55b4532dbb4862dca6a01c2994e79becbbd18622b41cb1fdc0d32c959c446

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

module DeviseSecurityExtension::Patches
  module UnlocksControllerSecurityQuestion
    extend ActiveSupport::Concern
    included do
      define_method :create do
        # only find via email, not login
        resource = resource_class.find_or_initialize_with_error_by(:email, params[resource_name][:email], :not_found)

        if ((defined? verify_recaptcha) && (verify_recaptcha
        params[:captcha])) or ((defined? valid_captcha?) && (valid_captcha?
        params[:captcha]))
           (resource.security_question_answer.present? and resource.security_question_answer == params[:security_question_answer])
          self.resource = resource_class.send_unlock_instructions(params[resource_name])
          if successfully_sent?(resource)
            respond_with({}, :location => new_session_path(resource_name))
          else
            respond_with(resource)
          end
        else
          flash[:alert] = t('devise.invalid_security_question') if is_navigational_format?
          respond_with({}, :location => new_unlock_path(resource_name))
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
devise_security_extension-0.10.0 lib/devise_security_extension/patches/unlocks_controller_security_question.rb