34 lines
989 B
Ruby
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
|