Sha256: 018996ab9fbfa9d180e8d87dd1b8a36f0cef774923b9dc0e05b2c07ddc5223f6

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

class UsersController < ApplicationController
  before_filter :require_no_user, :only => [:new, :create]
  before_filter :require_user, :only => [:edit, :update]
  before_filter :load_user, :except => [:new, :create]
  
  def new
    @user = @user_owner.new
  end
  
  def create
    @user = @user_owner.new(params[:user])
    if @user.save
      flash[:notice] = "Account registered!"
      redirect_to scoped_url("account_path")
    else
      render :action => :new
    end
  end
  
  def show
    if @user
      @user.update_attribute(:profile_views, @user.profile_views + 1) if @user && params[:id]
    else
      flash[:notice] = "We're sorry, but no user was found"
      redirect_to scoped_url("new_user_session_url")
    end
  end
  
  # This is a method created for tests only, to make sure users logged out get logged in when changing passwords
  def reset_password
    if @user
      @user.password = "saweet"
      @user.confirm_password = "saweet"
      @user.save
    else
      flash[:notice] = "We're sorry, but no user was found"
      redirect_to scoped_url("new_user_session_url")
    end
  end
  
  def update
    @user = @current_user
    @user.attributes = params[:user]
    if @user.save
      flash[:notice] = "Account updated!"
      redirect_to scoped_url("account_path")
    else
      render :action => :edit
    end
  end
  
  private
    def load_user
      if params[:id]
        @user = @user_owner.find_by_id(params[:id])
        @user.update_attribute(:profile_views, @user.profile_views + 1) if @user
      else
        @user = @current_user
      end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
authlogic-0.10.4 test_app/app/controllers/users_controller.rb