Sha256: f2c6e5462bcdff21945b30397b75135ff2e4bb40ecdc0a75779478e0aa2ecae0

Contents?: true

Size: 1.97 KB

Versions: 6

Compression:

Stored size: 1.97 KB

Contents

require 'kuhsaft/page_tree'

module Kuhsaft
  module Cms
    class PagesController < AdminController
      def index
        @pages = Kuhsaft::Page.roots
        respond_with @pages
      end

      def show
        @page = Kuhsaft::Page.find(params[:id])
        respond_with @page
      end

      def new
        @page = Kuhsaft::Page.new
        @page.published ||= Kuhsaft::PublishState::UNPUBLISHED
        respond_with @page
      end

      def create
        @page = Kuhsaft::Page.create(page_params)

        if @page.valid?
          flash[:success] = t('layouts.kuhsaft.cms.flash.success', :subject => Kuhsaft::Page.model_name.human)
          respond_with @page, :location => kuhsaft.edit_cms_page_path(@page)
        else
          render 'new'
        end
      end

      def edit
        @page = Kuhsaft::Page.find(params[:id])
        @page.published ||= Kuhsaft::PublishState::UNPUBLISHED
        respond_with @page
      end

      def update
        @page = Kuhsaft::Page.find(params[:id])
        if @page.update_attributes(page_params)
          flash[:success] = t('layouts.kuhsaft.cms.flash.success', :subject => Kuhsaft::Page.model_name.human)
          respond_with @page, :location => kuhsaft.edit_cms_page_path(@page)
        else
          render 'edit'
        end
      end

      def destroy
        @page = Kuhsaft::Page.find(params[:id])
        @page.destroy
        redirect_to kuhsaft.cms_pages_path
      end

      def sort
        Kuhsaft::PageTree.update(params[:page_tree])
      end

      private

      def page_params
        safe_params = [:title,
                       :page_title,
                       :slug,
                       :redirect_url,
                       :url,
                       :page_type,
                       :parent_id,
                       :keywords,
                       :description,
                       :published,
                       :position]
        params.require(:page).permit(*safe_params)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
kuhsaft-2.2.1 app/controllers/kuhsaft/cms/pages_controller.rb
kuhsaft-2.2.0 app/controllers/kuhsaft/cms/pages_controller.rb
kuhsaft-2.1.2 app/controllers/kuhsaft/cms/pages_controller.rb
kuhsaft-2.1.1 app/controllers/kuhsaft/cms/pages_controller.rb
kuhsaft-2.1.0 app/controllers/kuhsaft/cms/pages_controller.rb
kuhsaft-2.0.3 app/controllers/kuhsaft/cms/pages_controller.rb