ehmorris/cardslap

View on GitHub
app/controllers/clearance/users_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
class Clearance::UsersController < ApplicationController
  unloadable

  before_filter :authorize
  skip_before_filter :authorize,   :only => [:new, :create]
  before_filter :redirect_to_root, :only => [:new, :create], :if => :signed_in?

  def new
    @user = Clearance.configuration.user_model.new(params[:user])
    render :template => 'users/new', :layout => 'marketing'
  end

  def edit
    @user = current_user
    render :template => 'users/show'
  end

  def update
    @user = current_user
    if @user.update_password(params[:user][:password])
      redirect_to account_path
      flash[:notice] = 'Password updated'
    else
      redirect_to account_path
      flash[:notice] = "Password can't be blank"
    end
  end

  def create
    @user = Clearance.configuration.user_model.new(params[:user])
    if @user.save
      sign_in(@user)
      redirect_back_or root_url
    else
      flash_failure_after_create
      render :template => 'users/new', :layout => 'marketing'
    end
  end

  private

  def flash_failure_after_create
    flash.now[:notice] = translate(:bad_email_or_password,
      :scope   => [:clearance, :controllers, :passwords],
      :default => "That account may already exist.")
  end
end