Adding some documentation.
[lyrix.git] / app / controllers / sessions_controller.rb
blobde71fb1c8d5f3cb2a61f9b465a51f00ac2865520
1 # This controller handles the login/logout function of the site.  
2 class SessionsController < ApplicationController
3   skip_before_filter :login_required # How do we get here without this?
4   
5   # This is the login form page
6   def new; end
7   
8   # Actually log the person into the system
9   #
10   # This handles verification of the user's credentials,
11   # along with creating a cookie for Remember Me.
12   def create
13     self.current_user = User.authenticate(params[:login], params[:password])
14     if logged_in?
15       if params[:remember_me] == "1"
16         self.current_user.remember_me
17         cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
18       end
19       redirect_back_or_default('/')
20       flash[:notice] = "Logged in successfully"
21     else
22       render :action => 'new'
23     end
24   end
25   
26   # Kills the session.
27   def destroy
28     self.current_user.forget_me if logged_in?
29     cookies.delete :auth_token
30     reset_session
31     flash[:notice] = "You have been logged out."
32     redirect_back_or_default('/')
33   end
34 end