Sha256: cc4ef5a5def9adb21406eb2dd4da24dd958e407bd67897b251512cf23a154e70

Contents?: true

Size: 1.2 KB

Versions: 32

Compression:

Stored size: 1.2 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,
      ).to_json

      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

32 entries across 32 versions & 1 rubygems

Version Path
scrivito_sdk-1.5.1 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.5.1.rc2 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.5.1.rc1 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.5.0 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.5.0.rc2 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.5.0.rc1 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.4.2 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.4.1 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.4.1.rc1 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.4.0 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.4.0.rc2 app/controllers/scrivito/ui_controller.rb
scrivito_sdk-1.4.0.rc1 app/controllers/scrivito/ui_controller.rb