Sha256: ca3a2f29859707918afe17dfe665ce2b4ecd2a02a7c0285cd57affde8bca5244

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

class Clearance::UsersController < ApplicationController
  unloadable

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

  def new
    @user = user_from_params
    render :template => 'users/new'
  end

  def create
    @user = user_from_params
    if @user.save
      sign_in(@user)
      redirect_back_or(url_after_create)
    else
      flash_failure_after_create
      render :template => 'users/new'
    end
  end

  private

  def flash_failure_after_create
    flash.now[:notice] = translate(:bad_email_or_password,
      :scope   => [:clearance, :controllers, :passwords],
      :default => "Must be a valid email address. Password can't be blank.")
  end

  def url_after_create
    '/'
  end

  def user_from_params
    user_params = params[:user] || Hash.new
    email, password = user_params.delete(:email), user_params.delete(:password)
    Clearance.configuration.user_model.new(user_params).tap do |user|
      user.email = email
      user.password = password
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
clearance-0.16.3 app/controllers/clearance/users_controller.rb
clearance-0.16.2 app/controllers/clearance/users_controller.rb
clearance-0.16.1 app/controllers/clearance/users_controller.rb