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

34 lines
965 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