Sha256: 987aff80c129b161a9b86204086234363f101471c40466f6405c6497ec900e16

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

class CmsAdmin::BaseController < ActionController::Base
  
  protect_from_forgery
  
    before_filter :fetch_cms_logged_in_user,
                  :load_admin_cms_site
  
  unless CmsSite.count == 0 || CmsUser.find(:all, :conditions => {:admin => true, :disabled => false}).count == 0
    before_filter :cms_login_required
  end
  layout 'cms_admin'
    
protected
  
  def load_admin_cms_site
   if CmsSite.count == 0
      flash[:error] = 'To start you must setup your site'
      redirect_to new_cms_admin_site_path
    else
      @cms_site = CmsSite.first
      if @cms_site.version <  LucyCMS.config.version
        @cms_site.version = LucyCMS.config.version
        @cms_site.save
      end
    end
  end
  
  def fetch_cms_logged_in_user
    return unless session[:cms_user_id]
     @cms_current_user = CmsUser.find_by_id(session[:cms_user_id])
  end
  
  def cms_logged_in?
    ! @cms_current_user.nil?
  end
  
  helper_method :cms_logged_in?
  
  def cms_login_required
    return true if cms_logged_in?
    redirect_to new_cms_admin_session_path and return false
  end 
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lucy_cms-0.0.3 app/controllers/cms_admin/base_controller.rb
lucy_cms-0.0.2 app/controllers/cms_admin/base_controller.rb
lucy_cms-0.0.1 app/controllers/cms_admin/base_controller.rb