2012-08-31 03:01:52 +00:00
|
|
|
class UsersController < ApplicationController
|
|
|
|
|
before_filter :signed_in_user,
|
2012-09-03 22:03:16 +00:00
|
|
|
only: [:index, :edit, :update, :destroy]
|
2012-08-31 03:01:52 +00:00
|
|
|
before_filter :correct_user, only: [:edit, :update]
|
|
|
|
|
before_filter :admin_user, only: :destroy
|
|
|
|
|
|
|
|
|
|
def index
|
|
|
|
|
@users = User.paginate(page: params[:page])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def show
|
|
|
|
|
@user = User.find(params[:id])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def new
|
|
|
|
|
@user = User.new
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def create
|
2012-09-01 20:24:51 +00:00
|
|
|
@user = User.new(params[:jam_ruby_user])
|
2012-08-31 03:01:52 +00:00
|
|
|
if @user.save
|
|
|
|
|
sign_in @user
|
2012-09-03 22:03:16 +00:00
|
|
|
flash[:success] = "Welcome to Jamkazam!"
|
2012-08-31 03:01:52 +00:00
|
|
|
redirect_to @user
|
|
|
|
|
else
|
|
|
|
|
render 'new'
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def edit
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def update
|
2012-09-01 20:24:51 +00:00
|
|
|
if @user.update_attributes(params[:jam_ruby_user])
|
2012-08-31 03:01:52 +00:00
|
|
|
flash[:success] = "Profile updated"
|
|
|
|
|
sign_in @user
|
|
|
|
|
redirect_to @user
|
|
|
|
|
else
|
|
|
|
|
render 'edit'
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def destroy
|
|
|
|
|
User.find(params[:id]).destroy
|
|
|
|
|
flash[:success] = "User destroyed."
|
|
|
|
|
redirect_to users_url
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
|
|
def correct_user
|
|
|
|
|
@user = User.find(params[:id])
|
|
|
|
|
redirect_to(root_url) unless current_user?(@user)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def admin_user
|
|
|
|
|
redirect_to(root_url) unless current_user.admin?
|
|
|
|
|
end
|
2012-08-31 13:18:37 +00:00
|
|
|
end
|