adopt-a-hydrant/app/controllers/passwords_controller.rb

34 lines
989 B
Ruby

class PasswordsController < Devise::PasswordsController
def create
self.resource = resource_class.send_reset_password_instructions(resource_params)
yield resource if block_given?
if successfully_sent?(resource)
render(:json => {:success => true})
else
render(:json => {:errors => resource.errors}, :status => 500)
end
end
def edit
self.resource = resource_class.new
resource.reset_password_token = params[:reset_password_token]
render("edit", :layout => "info_window")
end
def update
self.resource = resource_class.reset_password_by_token(resource_params)
yield resource if block_given?
if resource.errors.empty?
resource.unlock_access! if unlockable?(resource)
sign_in(resource_name, resource)
end
redirect_to(:controller => "main", :action => "index")
end
private
def resource_params
params.require(:user).permit(:email, :password, :password_confirmation, :reset_password_token)
end
end