X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;ds=sidebyside;f=app%2Fcontrollers%2Fusers_controller.rb;fp=app%2Fcontrollers%2Fusers_controller.rb;h=9587740f601d2157cd968233950042ba4d7d4df6;hb=942d6c5b97e90c2c9036d1ec776ca98584e5be8f;hp=0000000000000000000000000000000000000000;hpb=128ba7d3b10ef93d000a3f6105c09129bf84b991;p=depot.git diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb new file mode 100644 index 0000000..9587740 --- /dev/null +++ b/app/controllers/users_controller.rb @@ -0,0 +1,90 @@ +class UsersController < ApplicationController + # GET /users + # GET /users.xml + def index + @users = User.find(:all, :order => :name) + + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @users } + end + end + + # GET /users/1 + # GET /users/1.xml + def show + @user = User.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.xml { render :xml => @user } + end + end + + # GET /users/new + # GET /users/new.xml + def new + @user = User.new + + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @user } + end + end + + # GET /users/1/edit + def edit + @user = User.find(params[:id]) + end + + # POST /users + # POST /users.xml + def create + @user = User.new(params[:user]) + + respond_to do |format| + if @user.save + flash[:notice] = "User #{@user.name} was successfully created." + format.html { redirect_to(:action => 'index') } + format.xml { render :xml => @user, :status => :created, :location => @user } + else + format.html { render :action => "new" } + format.xml { render :xml => @user.errors, :status => :unprocessable_entity } + end + end + end + + # PUT /users/1 + # PUT /users/1.xml + def update + @user = User.find(params[:id]) + + respond_to do |format| + if @user.update_attributes(params[:user]) + flash[:notice] = "User #{@user.name} was successfully updated." + format.html { redirect_to(:action => 'index') } + format.xml { head :ok } + else + format.html { render :action => "edit" } + format.xml { render :xml => @user.errors, :status => :unprocessable_entity } + end + end + end + + # DELETE /users/1 + # DELETE /users/1.xml + def destroy + @user = User.find(params[:id]) + begin + flash[:notice] = "User #{@user.name} deleted" + @user.destroy + rescue Exception => e + flash[:notice] = e.message + end + + respond_to do |format| + format.html { redirect_to(users_url) } + format.xml { head :ok } + end + end +end