Change the default route to the login page
[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]
9
10   def add_user
11     @user = User.new(params[:user])
12     if request.post? and @user.save
13       flash.now[:notice] = "User #{@user.name} created"
14       @user = User.new
15     end
16   end
17
18   def login
19     session[:user_id] = nil
20     if request.post?
21       user = User.authenticate(params[:name], params[:password])
22       if user
23         session[:user_id] = user.id
24         redirect_to :action => 'index'
25       else
26         flash[:notice] = "Invalid user/password combination"
27       end
28     end
29   end
30
31   def logout
32     session[:user_id] = nil
33     flash[:notice] = "Logged Out"
34     redirect_to :action => :login
35   end
36
37   def index
38     # No code needed
39   end
40
41   def delete_user
42     if request.post?
43       user = User.find(params[:id])
44       begin
45         user.destroy
46         flash[:notice] = "User #{user.name} deleted"
47       rescue Exception => e
48         flash[:notice] = e.message
49       end
50     end
51     redirect_to(:action => :list_users)
52   end
53
54   def list_users
55     @all_users = User.find(:all)
56   end
57
58 end