Sha256: a348bb96dea4066a3951feac3f6f3635ffe898982a56e068f905a722979bacc4

Contents?: true

Size: 1.23 KB

Versions: 4

Compression:

Stored size: 1.23 KB

Contents

module Scrivito

class UiController < ActionController::Base
  def index
    @application_src = application_src

    if editing_context.editor
      @ui_config = UiConfig.new({
        editing_context: editing_context,
        resource: resource,
        return_to: params[:return_to],
        app_extension_tags: app_extension_tags,
        obj_models: Scrivito.models.objs,
        widget_models: Scrivito.models.widgets,
        lookup_context: lookup_context,
      })

      render 'scrivito/ui/index.html'
    else
      redirect_to @application_src
    end
  end

  private

  def application_src
    return "/" if resource_details?

    given_query = request.env['QUERY_STRING']
    query = "?#{given_query}" if given_query.present?
    "/#{params['application_path']}#{query}"
  end

  def resource_details?
    params[:resource_id].present?
  end

  def resource
    if resource_details?
      editing_context.selected_workspace.objs.find_including_deleted(params[:resource_id])
    end
  end

  def app_extension_tags
    view_context.javascript_include_tag('scrivito_app_extensions') +
      view_context.stylesheet_link_tag('scrivito_app_extensions')
  end

  def editing_context
    EditingContextMiddleware.from_request(request)
  end
end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
scrivito_sdk-1.17.0 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.17.0.rc3 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.17.0.rc2 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.17.0.rc1 app/controllers/scrivito/ui_controller.rb