Add System Maintence pages
[cs356-p2-videostore.git] / app / controllers / login_controller.rb
1 class LoginController < ApplicationController
2   layout "admin"
3
4   # Make sure that a user logs in before doing any action here
5   before_filter :authorize, :only => :index
6
7   # Only managers can do the following actions
8   before_filter :manager, :only => [:add_user, :delete_user, :list_users, :maintenence]
9
10   def maintenence
11     render :action => 'maintenence'
12   end
13
14   def add_user
15     @user = User.new(params[:user])
16     if request.post? and @user.save
17       flash.now[:notice] = "User #{@user.name} created"
18       @user = User.new
19     end
20   end
21
22   def login
23     session[:user_id] = nil
24     if request.post?
25       user = User.authenticate(params[:name], params[:password])
26       if user
27         session[:user_id] = user.id
28         redirect_to :action => 'index'
29       else
30         flash[:notice] = "Invalid user/password combination"
31       end
32     end
33   end
34
35   def logout
36     session[:user_id] = nil
37     flash[:notice] = "Logged Out"
38     redirect_to :action => :login
39   end
40
41   def index
42     # No code needed
43   end
44
45   def delete_user
46     if request.post?
47       user = User.find(params[:id])
48       begin
49         user.destroy
50         flash[:notice] = "User #{user.name} deleted"
51       rescue Exception => e
52         flash[:notice] = e.message
53       end
54     end
55     redirect_to(:action => :list_users)
56   end
57
58   def list_users
59     @all_users = User.find(:all)
60   end
61
62 end