Sha256: 371bac3673bb16c576fde2733659eaa41aacd481dd1c6ed6bfec7a53327c85c6

Contents?: true

Size: 1.36 KB

Versions: 17

Compression:

Stored size: 1.36 KB

Contents

class CmsContentController < ApplicationController
  
  before_filter :load_cms_site
  before_filter :load_cms_page,   :only => :render_html
  before_filter :load_cms_layout, :only => [:render_css, :render_js]
    
  def render_html(status = 200)
    layout = @cms_page.cms_layout.app_layout.blank?? false : @cms_page.cms_layout.app_layout
    render :inline => @cms_page.content, :layout => layout, :status => status
  end
  
  def render_css
    render :text => @cms_layout.css, :content_type => 'text/css'
  end
  
  def render_js
    render :text => @cms_layout.js, :content_type => 'text/javascript'
  end
  
protected
  
  def load_cms_site
    @cms_site = CmsSite.find_by_hostname!(request.host.downcase)
  rescue ActiveRecord::RecordNotFound
    render :text => 'Site Not Found', :status => 404
  end
  
  def load_cms_page
    @cms_page = CmsPage.load_for_full_path!(@cms_site, "/#{params[:cms_path]}")
    return redirect_to(@cms_page.target_page.full_path) if @cms_page.target_page
    
  rescue ActiveRecord::RecordNotFound
    if @cms_page = CmsPage.load_for_full_path(@cms_site, '/404')
      render_html(404)
    else
      render :text => 'Page Not Found', :status => 404
    end
  end
  
  def load_cms_layout
    @cms_layout = CmsLayout.load_for_slug!(@cms_site, params[:id])
  rescue ActiveRecord::RecordNotFound
    render :nothing => true, :status => 404
  end
  
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
comfortable_mexican_sofa-1.0.30 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.29 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.28 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.27 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.26 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.25 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.24 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.23 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.22 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.21 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.20 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.19 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.18 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.17 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.16 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.15 app/controllers/cms_content_controller.rb
comfortable_mexican_sofa-1.0.14 app/controllers/cms_content_controller.rb