Sha256: f67bd06b3c0b885e6cd96f518f9809834a847e2cce5c40b0aedc123849ee9758
Contents?: true
Size: 1.31 KB
Versions: 11
Compression:
Stored size: 1.31 KB
Contents
class Identity::PasswordResetsController < ApplicationController skip_before_action :authenticate <%- if options.lockable? -%> before_action :require_lock, only: :create <%- end -%> before_action :set_user, only: %i[ edit update ] def new end def edit end def create if @user = User.find_by(email: params[:email], verified: true) send_password_reset_email redirect_to sign_in_path, notice: "Check your email for reset instructions" else redirect_to new_identity_password_reset_path, alert: "You can't reset your password until you verify your email" end end def update if @user.update(user_params) revoke_tokens; redirect_to(sign_in_path, notice: "Your password was reset successfully. Please sign in") else render :edit, status: :unprocessable_entity end end private def set_user @token = PasswordResetToken.find_signed!(params[:sid]); @user = @token.user rescue redirect_to new_identity_password_reset_path, alert: "That password reset link is invalid" end def user_params params.permit(:password, :password_confirmation) end def send_password_reset_email UserMailer.with(user: @user).password_reset.deliver_later end def revoke_tokens @user.password_reset_tokens.delete_all end end
Version data entries
11 entries across 11 versions & 1 rubygems