Sha256: 02b7cf242f11ca9fbf5c54dd7efc6d743cc2f6131eff5d3a6742d0a6524dcdcd

Contents?: true

Size: 1.3 KB

Versions: 2

Compression:

Stored size: 1.3 KB

Contents

class Curupira::PasswordsController < ApplicationController
  before_action :redirect_to_root_with_errors, if: :current_user

  def new
    @user = User.new
  end

  def create
    @user = User.find_by(email: params[:user][:email])
    if @user.present?
      @user.deliver_reset_password_instructions!
      redirect_to new_session_path, notice: "Verifique seu email para receber instruções de recuperação de senha"
    else
      @user = User.new email: params[:user][:email]
      flash[:alert] = "Email não encontrado"
      render :new
    end
  end

  def edit
    @user = User.load_from_reset_password_token(params[:id])
    if @user.present?
      render :edit
    else
      redirect_to new_session_path, alert: "Token para resetar senha expirado ou inválido"
    end
  end

  def update
    @user = User.load_from_reset_password_token(params[:id])

    if @user
      @user.change_password!(params[:user][:password])
      Curupira::ResetPasswordMailer.reseted(@user).deliver_now
      redirect_to new_session_path, notice: "Senha atualizada com sucesso. Entre com sua nova senha"
    else
      redirect_to new_session_path, alert: "Token para resetar senha expirado ou inválido"
    end
  end

  private

  def redirect_to_root_with_errors
    redirect_to root_path, alert: "Você já está logado"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
curupira-0.1.7 app/controllers/curupira/passwords_controller.rb
curupira-0.1.6 app/controllers/curupira/passwords_controller.rb