Class: Clearance::PasswordsController
- Inherits:
-
BaseController
- Object
- ApplicationController
- BaseController
- Clearance::PasswordsController
- Defined in:
- app/controllers/clearance/passwords_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #deliver_email(user) ⇒ Object private
- #edit ⇒ Object
- #ensure_existing_user ⇒ Object private
- #find_user_by_id_and_confirmation_token ⇒ Object private
- #find_user_for_create ⇒ Object private
- #find_user_for_edit ⇒ Object private
- #find_user_for_update ⇒ Object private
- #flash_failure_after_update ⇒ Object private
- #flash_failure_when_forbidden ⇒ Object private
- #new ⇒ Object
- #password_reset_params ⇒ Object private
- #update ⇒ Object
- #url_after_create ⇒ Object private
- #url_after_update ⇒ Object private
Instance Method Details
#create ⇒ Object
22 23 24 25 26 27 28 |
# File 'app/controllers/clearance/passwords_controller.rb', line 22 def create if user = find_user_for_create user.forgot_password! deliver_email(user) end render template: 'passwords/create' end |
#deliver_email(user) ⇒ Object (private)
60 61 62 63 64 65 66 67 68 |
# File 'app/controllers/clearance/passwords_controller.rb', line 60 def deliver_email(user) mail = ::ClearanceMailer.change_password(user) if mail.respond_to?(:deliver_later) mail.deliver_later else mail.deliver end end |
#edit ⇒ Object
30 31 32 33 34 35 36 37 38 39 |
# File 'app/controllers/clearance/passwords_controller.rb', line 30 def edit @user = find_user_for_edit if params[:token] session[:password_reset_token] = params[:token] redirect_to url_for else render template: 'passwords/edit' end end |
#ensure_existing_user ⇒ Object (private)
100 101 102 103 104 105 |
# File 'app/controllers/clearance/passwords_controller.rb', line 100 def ensure_existing_user unless find_user_by_id_and_confirmation_token flash_failure_when_forbidden render template: "passwords/new" end end |
#find_user_by_id_and_confirmation_token ⇒ Object (private)
79 80 81 82 83 84 85 |
# File 'app/controllers/clearance/passwords_controller.rb', line 79 def find_user_by_id_and_confirmation_token user_param = Clearance.configuration.user_id_parameter token = params[:token] || session[:password_reset_token] Clearance.configuration.user_model. find_by_id_and_confirmation_token params[user_param], token.to_s end |
#find_user_for_create ⇒ Object (private)
87 88 89 90 |
# File 'app/controllers/clearance/passwords_controller.rb', line 87 def find_user_for_create Clearance.configuration.user_model. find_by_normalized_email params[:password][:email] end |
#find_user_for_edit ⇒ Object (private)
92 93 94 |
# File 'app/controllers/clearance/passwords_controller.rb', line 92 def find_user_for_edit find_user_by_id_and_confirmation_token end |
#find_user_for_update ⇒ Object (private)
96 97 98 |
# File 'app/controllers/clearance/passwords_controller.rb', line 96 def find_user_for_update find_user_by_id_and_confirmation_token end |
#flash_failure_after_update ⇒ Object (private)
113 114 115 116 117 |
# File 'app/controllers/clearance/passwords_controller.rb', line 113 def flash_failure_after_update flash.now[:notice] = translate(:blank_password, scope: [:clearance, :controllers, :passwords], default: t('flashes.failure_after_update')) end |
#flash_failure_when_forbidden ⇒ Object (private)
107 108 109 110 111 |
# File 'app/controllers/clearance/passwords_controller.rb', line 107 def flash_failure_when_forbidden flash.now[:notice] = translate(:forbidden, scope: [:clearance, :controllers, :passwords], default: t('flashes.failure_when_forbidden')) end |
#new ⇒ Object
41 42 43 |
# File 'app/controllers/clearance/passwords_controller.rb', line 41 def new render template: 'passwords/new' end |
#password_reset_params ⇒ Object (private)
70 71 72 73 74 75 76 77 |
# File 'app/controllers/clearance/passwords_controller.rb', line 70 def password_reset_params if params.has_key? :user ActiveSupport::Deprecation.warn %{Since locales functionality was added, accessing params[:user] is no longer supported.} params[:user][:password] else params[:password_reset][:password] end end |
#update ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/controllers/clearance/passwords_controller.rb', line 45 def update @user = find_user_for_update if @user.update_password password_reset_params sign_in @user redirect_to url_after_update session[:password_reset_token] = nil else flash_failure_after_update render template: 'passwords/edit' end end |
#url_after_create ⇒ Object (private)
119 120 121 |
# File 'app/controllers/clearance/passwords_controller.rb', line 119 def url_after_create sign_in_url end |
#url_after_update ⇒ Object (private)
123 124 125 |
# File 'app/controllers/clearance/passwords_controller.rb', line 123 def url_after_update Clearance.configuration.redirect_url end |