Sha256: 2f43a950f7c429e98d7e19f4b41140c0422bc4b9e6c526b3a8b0e492892e50ec

Contents?: true

Size: 1.49 KB

Versions: 1

Compression:

Stored size: 1.49 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_action :load_object
    before_action :ensure_object_is_active
    before_action :ensure_object_is_permitted
    before_action :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

1 entries across 1 versions & 1 rubygems

Version Path
infopark_fiona_connector-7.0.1.5.2.3.rc4 app/controllers/rails_connector/default_cms_controller.rb