Sha256: 7c582a5863a38b4ff17bcb8a4a71c24b789cff51b9095a3e90fd56fa24b170c1

Contents?: true

Size: 1.58 KB

Versions: 5

Compression:

Stored size: 1.58 KB

Contents

module EditableComponents
  class BlocksController < ActionController::Base
    protect_from_forgery with: :exception

    def publish
      model = params[:container].camelcase.constantize rescue nil
      if model && model.ancestors.include?( EditableComponents::Concerns::Editable )
        container = model.find params[:container_id]
        ver = EditableComponents.publish( container, params[:version] )
        respond_to do |format|
          # format.html { redirect_to page_path( @page, version: ver ), notice: "Version: #{ver}" }
          format.html { redirect_back fallback_location: '/', notice: "Version: #{ver}" }
          format.json { render json: { status: :ok }, status: :ok }  # , location: container
        end
      end
      # TODO: set errors if not a valid model
    end

    def update
      model = params[:container].camelcase.constantize rescue nil
      if model && model.ancestors.include?( EditableComponents::Concerns::Editable )
        container = model.find params[:container_id]
        respond_to do |format|
          if EditableComponents.update( container, params )
            format.html { redirect_back fallback_location: '/', notice: 'Saved.' }
            format.json { render json: { status: :ok }, status: :ok }  # , location: container
          else
            format.html { redirect_back fallback_location: '/', notice: container.errors.messages[:base].join( ' - ' ) }
            format.json { render json: container.errors, status: :unprocessable_entity }
          end
        end
      end
      # TODO: set errors if not a valid model
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
editable_components-0.1.6 app/controllers/editable_components/blocks_controller.rb
editable_components-0.1.4 app/controllers/editable_components/blocks_controller.rb
editable_components-0.1.3 app/controllers/editable_components/blocks_controller.rb
editable_components-0.1.2 app/controllers/editable_components/blocks_controller.rb
editable_components-0.1.0 app/controllers/editable_components/blocks_controller.rb