Sha256: eed070b4e92a8afa7e9c4e1086f43a4b17d6c9ae22ae9da9b914ec3123b04c96

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

require_dependency 'user'

class ApplicationController < ActionController::Base
  before_filter :configure_app, :except => [ :search, :face ]
  before_filter :collect_info,  :except => [ :search, :face, :feed ]

  private
  def current_user
    @session['user']
  end
  helper_method :current_user

  def current_user=(user)
    @session['user'] = user
  end

  def logged_in?
    @session['Elitist']
  end
  helper_method :logged_in?
  
  def owns_post?(p)
    logged_in? && (current_user.id == p.user_id)
  end
  helper_method :owns_post?
  
  def user_page?
    @params['user'] ? true : false
  end
  helper_method :user_page?

  def start_user_session(user)
    @session['Elitist'] = true
    self.current_user = user
  end

  def end_user_session
    reset_session
  end

  def redirect_to_main
    redirect_to :controller => 'post', :action => 'index'
  end

  def redirect_to_user
    redirect_to :controller => 'user', :action => 'index'
  end

  def redirect_to_draft
    redirect_to :controller => 'draft', :action => 'index'
  end

  def redirect_to_link
    redirect_to :controller => 'link', :action => 'index'
  end

  def redirect_to_login
    redirect_to :controller => 'auth', :action => 'login'
  end
  
  def redirect_to_my_home
    redirect_to :controller => 'users', :action => current_user.username
  end

  def configure_app
    @app_config = YAML::load(File.open(File.dirname(__FILE__) + "/../../config/app.yml"))
    if @params['user']
      @user = User.find_by_username(@params['user']) || User.new
    end
  end
  
  def collect_info
    @most_recent = Post.find_all(nil, 'created_at DESC', 25).collect {|p| p.user}.uniq
  end
  
  def auth_required
    return true if logged_in?
    redirect_to_login
  end

  def admin_required
    return true if current_user.is_admin?
    redirect_to_main
  end 
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
EliteJournal-1.9.492 app/controllers/application.rb
EliteJournal-1.9.480 app/controllers/application.rb