Sha256: 9cbfd2ffad9905b3ef71cc5ec2a41405c3feb02887c12dbfa32e1671c6388a62

Contents?: true

Size: 1.28 KB

Versions: 4

Compression:

Stored size: 1.28 KB

Contents

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

  def new
    @user = User.new
  end

  def create
    @user = User.find_by(params[:user])
    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

4 entries across 4 versions & 1 rubygems

Version Path
curupira-0.1.3 app/controllers/curupira/passwords_controller.rb
curupira-0.1.2 app/controllers/curupira/passwords_controller.rb
curupira-0.1.1 app/controllers/curupira/passwords_controller.rb
curupira-0.1.0 app/controllers/curupira/passwords_controller.rb