Class: Devise::ChallengeQuestionsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Devise::ChallengeQuestionsController
- Includes:
- Devise::Controllers::InternalHelpers
- Defined in:
- app/controllers/devise/challenge_questions_controller.rb
Instance Method Summary collapse
- #authenticate ⇒ Object
-
#create ⇒ Object
POST /resource/challenge_question.
-
#edit ⇒ Object
GET /resource/challenge_question/edit?reset_challenge_questions_token=abcdef.
- #forgot ⇒ Object
-
#manage ⇒ Object
Build token and redirect.
-
#new ⇒ Object
GET /resource/challenge_question/new.
-
#show ⇒ Object
GET /resource/challenge_question.
-
#update ⇒ Object
PUT /resource/challenge_question.
Instance Method Details
#authenticate ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 57 def authenticate render_with_scope :show and return if params[:challenge_answer].nil? @challenge_question = resource.send("#{resource_name}_challenge_questions").find(params[:challenge_question_id]) md5 = Digest::MD5.hexdigest(params[:challenge_answer].downcase) if md5.eql?(@challenge_question.challenge_answer) warden.session(resource_name)[:need_challenge_questions] = false sign_in resource_name, resource redirect_to stored_location_for(resource_name) || :root resource.update_attribute(:challenge_question_failed_attempts, 0) else resource.challenge_question_failed_attempts += 1 resource.save :notice, :attempt_failed if resource.max_challenge_question_attempts? resource.max_challenge_question_lock_account sign_out(resource) render_with_scope :max_challenge_question_attempts_reached and return else redirect_to send("#{resource_name}_challenge_question_path") end end end |
#create ⇒ Object
POST /resource/challenge_question
14 15 16 17 18 19 20 21 22 23 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 14 def create self.resource = resource_class.send_reset_challenge_questions_instructions(params[resource_name]) if resource.errors.empty? :notice, :send_instructions redirect_to new_session_path(resource_name) else render_with_scope :new end end |
#edit ⇒ Object
GET /resource/challenge_question/edit?reset_challenge_questions_token=abcdef
26 27 28 29 30 31 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 26 def edit self.resource = resource_class.new resource.reset_challenge_questions_token = params[:reset_challenge_questions_token] Devise.number_of_challenge_questions.times { resource.send("#{resource_name}_challenge_questions").build } render_with_scope :edit end |
#forgot ⇒ Object
87 88 89 90 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 87 def forgot sign_out(resource) redirect_to new_challenge_question_path(resource_name) end |
#manage ⇒ Object
Build token and redirect
81 82 83 84 85 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 81 def manage resource.set_reset_challenge_questions_token sign_out(resource) redirect_to edit_challenge_question_path(resource, :reset_challenge_questions_token => resource.reset_challenge_questions_token) end |
#new ⇒ Object
GET /resource/challenge_question/new
8 9 10 11 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 8 def new build_resource render_with_scope :new end |
#show ⇒ Object
GET /resource/challenge_question
46 47 48 49 50 51 52 53 54 55 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 46 def show @challenge_question = resource.send("#{resource_name}_challenge_questions").sample if @challenge_question.nil? resource.set_reset_challenge_questions_token sign_out(resource) redirect_to edit_challenge_question_path(resource, :reset_challenge_questions_token => resource.reset_challenge_questions_token) else render_with_scope :show end end |
#update ⇒ Object
PUT /resource/challenge_question
34 35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/devise/challenge_questions_controller.rb', line 34 def update self.resource = resource_class.reset_challenge_questions_by_token(params[resource_name]) if resource.errors.empty? :notice, :updated_challenge_questions redirect_to :root else render_with_scope :edit end end |