filling in everything needed to login and view the account page, wheeeee.
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user