Sha256: e4d9c53960e1f00dc2413db1a7c700a0edf99db8ca3244db77b5b853e157c55a

Contents?: true

Size: 1.45 KB

Versions: 2

Compression:

Stored size: 1.45 KB

Contents

module RailsConnector

  # This controller provides some default includes ({CmsAccessible}),
  # before filters (+load_object+, among others), and actions to simplify
  # CMS object handling. It should never be used directly, but only as a
  # super class to {CmsController}.
  # @api public
  class DefaultCmsController < ApplicationController
    include CmsAccessible
    before_filter :load_object
    before_filter :ensure_object_is_permitted
    before_filter :set_google_expire_header

    # Default Action. Delivers files directly if their mime type is not text/html
    # @api public
    def index
      deliver_file if @obj.mime_type != "text/html"
    end

    # Toggles edit markers. The current status is stored in the session.
    # @api public
    def toggle_editmarkers
      session[:hide_editmarkers] = !session[:hide_editmarkers]
      redirect_to cms_id_url(@obj)
    end

    # This method indicates if this controller should be used automatically when an Obj is
    # requested via the Rails Connector's standard routes. It returns true by default.
    #
    # Overwrite it to return false if you do want your controller to be excluded from Obj dispatching.
    #
    # You may also implement a method with the name {use_for_obj_dispatch?} in controllers not
    # descending from {DefaultCmsController} to include them in Obj dispatching.
    #
    # @see Obj#controller_name
    # @api public
    def self.use_for_obj_dispatch?
      true
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
infopark_cloud_connector-7.0.1 app/controllers/rails_connector/default_cms_controller.rb
infopark_cloud_connector-7.0.0 app/controllers/rails_connector/default_cms_controller.rb