Sha256: 1e190ed1e4fbfcdf52b1f316015349daacffe4e0f63173e8fc3b7fdbc91712a4

Contents?: true

Size: 1.07 KB

Versions: 8

Compression:

Stored size: 1.07 KB

Contents

require_dependency "wbase/application_controller"

module Wbase
  class PasswordResetsController < ApplicationController
    layout 'wbase/auth'

    def new
    end

    def create
      # If the user is found, generate password reset
      user = User.find_by(email: params[:email].try(:downcase))
      if user
        user.reset_reset_token!
        PasswordResetMailer.reset(user).deliver_later
      end
      flash.now[:alert] = "Thanks! If we find a user with that email, we'll be in touch"
      render :new
    end

    def edit
      @user = User.find_by(reset_token: params[:reset_token])
    end

    def update
      @user = User.find_by(reset_token: params[:reset_token])
      if @user
        @user.password = params[:password]
        if @user.save
          login(@user)
          redirect_to '/'
        else
          flash.now[:errors] = @user.errors.full_messages
          render :edit
        end
      else
        flash.now[:errors] = [
          "Hmmm. We didn't find a user with that password reset token :/. try again?"]
        render :edit
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wbase-0.3.8 app/controllers/wbase/password_resets_controller.rb
wbase-0.3.7 app/controllers/wbase/password_resets_controller.rb
wbase-0.3.6 app/controllers/wbase/password_resets_controller.rb
wbase-0.3.5 app/controllers/wbase/password_resets_controller.rb
wbase-0.3.4 app/controllers/wbase/password_resets_controller.rb
wbase-0.3.3 app/controllers/wbase/password_resets_controller.rb
wbase-0.3.2 app/controllers/wbase/password_resets_controller.rb
wbase-0.3.1 app/controllers/wbase/password_resets_controller.rb