filling in everything needed to login and view the account page, wheeeee.

This commit is contained in:
Dan Buch
2011-08-09 22:03:10 -04:00
parent 7ca80880a8
commit b3d2c45c36
5 changed files with 50 additions and 5 deletions

View File

@@ -1,3 +1,21 @@
class ApplicationController < ActionController::Base
before_filter :set_user
protect_from_forgery
protected
def set_user
@user = User.find(session[:id]) if @user.nil? && session[:id]
end
def login_required
return true if @user
access_denied
return false
end
def access_denied
session[:return_to] = request.request_uri
flash[:error] = 'Oops. You need to login before you can view that page.'
redirect_to :controller => 'user', :action => 'login'
end
end

View File

@@ -1,11 +1,25 @@
class UserController < ApplicationController
before_filter :login_required, :only => :my_account
def login
@user = User.new
@user.username = params[:username]
end
def process_login
if user = User.authenticate(params[:user])
session[:id] = user.id
redirect_to session[:return_to] || '/'
else
flash[:error] = 'Invalid login.'
redirect_to :action => 'login', :username => params[:user][:username]
end
end
def logout
reset_session
flash[:message] = 'Logged out.'
redirect_to :action => 'login'
end
def my_account