103 lines
2.2 KiB
Ruby
Executable File
103 lines
2.2 KiB
Ruby
Executable File
class UsersController < ApplicationController
|
|
|
|
before_filter :check_for_cancel
|
|
before_filter :authenticate_user!
|
|
before_filter :is_admin?
|
|
|
|
# GET /users
|
|
# GET /users.json
|
|
def index
|
|
@users = Kaminari.paginate_array(User.all).page(params[:page]).per(10)
|
|
|
|
respond_to do |format|
|
|
format.html # index.html.erb
|
|
format.json { render :json => @users }
|
|
end
|
|
end
|
|
|
|
|
|
# GET /users/1
|
|
# GET /users/1.json
|
|
def show
|
|
@user = User.find(params[:id])
|
|
|
|
respond_to do |format|
|
|
format.html # show.html.erb
|
|
format.json { render :json => @user }
|
|
end
|
|
end
|
|
|
|
# GET /users/new
|
|
# GET /users/new.json
|
|
def new
|
|
@user = User.new
|
|
|
|
respond_to do |format|
|
|
format.html # new.html.erb
|
|
format.json { render :json => @user }
|
|
end
|
|
end
|
|
|
|
# GET /users/1/edit
|
|
def edit
|
|
@user = User.find(params[:id])
|
|
end
|
|
|
|
# POST /users
|
|
# POST /users.json
|
|
def create
|
|
@user = User.new(params[:user])
|
|
|
|
respond_to do |format|
|
|
if @user.save
|
|
format.html { redirect_to @user, :notice => 'User was successfully created.' }
|
|
format.json { render :json => @user, :status => :created, :location => @user }
|
|
else
|
|
format.html { render :action => "new" }
|
|
format.json { render :json => @user.errors, :status => :unprocessable_entity }
|
|
end
|
|
end
|
|
end
|
|
|
|
# PUT /users/1
|
|
# PUT /users/1.json
|
|
def update
|
|
@user = User.find(params[:id])
|
|
|
|
respond_to do |format|
|
|
if @user.update_attributes(params[:user])
|
|
format.html { redirect_to @user, :notice => 'User was successfully updated.' }
|
|
format.json { head :ok }
|
|
else
|
|
format.html { render :action => "edit" }
|
|
format.json { render :json => @user.errors, :status => :unprocessable_entity }
|
|
end
|
|
end
|
|
end
|
|
|
|
# DELETE /users/1
|
|
# DELETE /users/1.json
|
|
def destroy
|
|
@user = User.find(params[:id])
|
|
@user.destroy
|
|
|
|
respond_to do |format|
|
|
format.html { redirect_to users_url }
|
|
format.json { head :ok }
|
|
end
|
|
end
|
|
|
|
def is_admin?
|
|
unless (current_user && current_user.admin?)
|
|
flash[:error] = 'You are not an Admin'
|
|
redirect_to root_path
|
|
end
|
|
end
|
|
|
|
def check_for_cancel
|
|
if params[:commit] == 'cancel'
|
|
redirect_to :back
|
|
end
|
|
end
|
|
end
|