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)
53 54 55 56 57 58 59 60 61 |
# File 'app/controllers/clearance/passwords_controller.rb', line 53 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 |
# File 'app/controllers/clearance/passwords_controller.rb', line 30 def edit @user = find_user_for_edit render template: 'passwords/edit' end |
#ensure_existing_user ⇒ Object (private)
92 93 94 95 96 97 |
# File 'app/controllers/clearance/passwords_controller.rb', line 92 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)
72 73 74 75 76 77 |
# File 'app/controllers/clearance/passwords_controller.rb', line 72 def find_user_by_id_and_confirmation_token user_param = Clearance.configuration.user_id_parameter Clearance.configuration.user_model. find_by_id_and_confirmation_token params[user_param], params[:token].to_s end |
#find_user_for_create ⇒ Object (private)
79 80 81 82 |
# File 'app/controllers/clearance/passwords_controller.rb', line 79 def find_user_for_create Clearance.configuration.user_model. find_by_normalized_email params[:password][:email] end |
#find_user_for_edit ⇒ Object (private)
84 85 86 |
# File 'app/controllers/clearance/passwords_controller.rb', line 84 def find_user_for_edit find_user_by_id_and_confirmation_token end |
#find_user_for_update ⇒ Object (private)
88 89 90 |
# File 'app/controllers/clearance/passwords_controller.rb', line 88 def find_user_for_update find_user_by_id_and_confirmation_token end |
#flash_failure_after_update ⇒ Object (private)
105 106 107 108 109 |
# File 'app/controllers/clearance/passwords_controller.rb', line 105 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)
99 100 101 102 103 |
# File 'app/controllers/clearance/passwords_controller.rb', line 99 def flash_failure_when_forbidden flash.now[:notice] = translate(:forbidden, scope: [:clearance, :controllers, :passwords], default: t('flashes.failure_when_forbidden')) end |
#new ⇒ Object
35 36 37 |
# File 'app/controllers/clearance/passwords_controller.rb', line 35 def new render template: 'passwords/new' end |
#password_reset_params ⇒ Object (private)
63 64 65 66 67 68 69 70 |
# File 'app/controllers/clearance/passwords_controller.rb', line 63 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
39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/controllers/clearance/passwords_controller.rb', line 39 def update @user = find_user_for_update if @user.update_password password_reset_params sign_in @user redirect_to url_after_update else flash_failure_after_update render template: 'passwords/edit' end end |
#url_after_create ⇒ Object (private)
111 112 113 |
# File 'app/controllers/clearance/passwords_controller.rb', line 111 def url_after_create sign_in_url end |
#url_after_update ⇒ Object (private)
115 116 117 |
# File 'app/controllers/clearance/passwords_controller.rb', line 115 def url_after_update Clearance.configuration.redirect_url end |