Sha256: d5aaa403adcb0afb5c35ed2033dbf4ed2bc0b1d9239bf42aee5baac84853042c

Contents?: true

Size: 1.36 KB

Versions: 5

Compression:

Stored size: 1.36 KB

Contents

require 'rails_admin_content_builder/engine'

module RailsAdminContentBuilder
end

require 'rails_admin/config/actions'

module RailsAdmin
  module Config
    module Actions
      class ContentBuilder < Base
        RailsAdmin::Config::Actions.register(self)
        register_instance_option :member do
          true
        end

        register_instance_option :link_icon do
          'icon-align-justify'
        end

        register_instance_option :http_methods do
          [:get, :post]
        end

        register_instance_option :controller do
          proc do
            @object = @abstract_model.model.find(params[:id])
            @response = {}

            if request.post?
              if params.present?

                if params[:publish]
                  status = true
                elsif params[:unpublish]
                  status = false
                elsif params[:save]
                  status = @object.status
                end

                if @object.update(content: params[:content], status: status)
                  flash[:success] = t('admin.actions.content_builder.success_save')
                else
                  flash[:error] = t('admin.actions.content_builder.error_save')
                end
              end
            end

            render action: @action.template_name
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails_admin_content_builder-1.3.0 lib/rails_admin_content_builder.rb
rails_admin_content_builder-1.2.0 lib/rails_admin_content_builder.rb
rails_admin_content_builder-1.1.0 lib/rails_admin_content_builder.rb
rails_admin_content_builder-1.0.6 lib/rails_admin_content_builder.rb
rails_admin_content_builder-1.0.5 lib/rails_admin_content_builder.rb