Sha256: feb484f7ab4812fb1f3fc22301e935b617923662df1d7232e859efb8242817c1

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

require_dependency "pages_cms/application_controller"

module PagesCms
  class PagesController < ApplicationController

    def show
      page = Page.find_by_slug(params[:slug])
      page_setup(page)
    end

    def home
      page = Page.find_by_title('Home')
      page_setup(page)
    end

    private
      def page_setup(page)
        if page != nil
          @page = page
          @articles = Article.published
          filter_params(params).each do |search, result|
            @articles = @articles.public_send(search, result) if result.present?
          end
          if @page.sidebar && @page.sidebar.show && @page.sidebar.use_instead.nil?
            @sidebar = @page.sidebar
          elsif @page.sidebar && !@page.sidebar.show
            @sidebar = false
          elsif @page.sidebar && !@page.sidebar.use_instead.nil?
            @sidebar = Sidebar.find(@page.sidebar.use_instead)
          else
            @sidebar = false
          end
          if @page.sliders && @page.sliders.any?
            @sliders = @page.sliders.order(:order)
          else
            @sliders = false
          end
          render template: 'pages_cms/pages/show'
        else
          redirect_to '/'
        end
      end

      def filter_params(params)
        params.slice(:search)
      end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pages_cms-1.1.0 app/controllers/pages_cms/pages_controller.rb