Sha256: 7db2d1e4d982a43336aa4baa078034b00a56133f97f409c7d50e934b66961119

Contents?: true

Size: 1.48 KB

Versions: 8

Compression:

Stored size: 1.48 KB

Contents

class Admin::PasswordResetsController < Admin::ApplicationController

  before_action :load_user_using_perishable_token, only: [:show, :update]
  skip_before_action :require_user, :require_admin_user, raise: false
  layout 'admin/login'

  def index

  end

  def create
    @user = SpudUser.find_by(email: params[:email])
    if @user
      @user.reset_perishable_token!
      TbCoreMailer.forgot_password_notification(@user, admin_password_reset_url(@user.perishable_token)).deliver_later
      flash[:notice] = 'Instructions to reset your password have been emailed to you. ' +
      'Please check your email.'
      redirect_to admin_login_path
    else
      flash.now[:error] = 'No user was found with that email address'
      render 'index'
    end
  end

  def show

  end

  def update
    @user.password = params[:spud_user][:password]
    @user.password_confirmation = params[:spud_user][:password_confirmation]
    if @user.save
      SpudUserSession.create(@user)
      flash[:notice] = 'Password successfully updated'
      redirect_to admin_login_path
    else
      render 'show'
    end
  end

private

  def load_user_using_perishable_token
    @user = SpudUser.find_using_perishable_token(params[:id])
    return if @user
    flash[:notice] = "We're sorry, but we could not locate your account. " +
    'If you are having issues try copying and pasting the URL ' +
    'from your email into your browser or restarting the ' +
    'reset password process.'
    redirect_to admin_login_path
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
tb_core-1.4.3.1 app/controllers/admin/password_resets_controller.rb
tb_core-1.4.7 app/controllers/admin/password_resets_controller.rb
tb_core-1.4.6 app/controllers/admin/password_resets_controller.rb
tb_core-1.4.5 app/controllers/admin/password_resets_controller.rb
tb_core-1.4.4 app/controllers/admin/password_resets_controller.rb
tb_core-1.4.3 app/controllers/admin/password_resets_controller.rb
tb_core-1.4.2 app/controllers/admin/password_resets_controller.rb
tb_core-1.4.1 app/controllers/admin/password_resets_controller.rb