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