photomix/app/controllers/users_controller.rb

50 lines
1 KiB
Ruby

class UsersController < ApplicationController
before_filter :require_no_user, :only => [:new, :create]
before_filter :require_user, :only => [:show, :edit, :update, :destroy]
skip_filter :setup
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
if User.all.length == 1
@user.roles << Role.create(:name => 'admin')
end
flash[:notice] = "Account registered!"
redirect_back_or_default new_collection_path
else
render :action => :new
end
end
def show
@user = @current_user
end
def edit
@user = @current_user
end
def update
@user = @current_user # makes our views "cleaner" and more consistent
if @user.update_attributes(params[:user])
flash[:notice] = "Account updated!"
redirect_to account_path
else
render :action => :edit
end
end
def destroy
@user = @current_user
if @user.destroy
redirect_to users_path
else
redirect_to @user
end
end
end