Sha256: fc9eba6637f69d8a463e86c1701a2a2b09ecb8a9d91ae6c06b1fdf9733aa15a5

Contents?: true

Size: 1.37 KB

Versions: 4

Compression:

Stored size: 1.37 KB

Contents

require 'rails_admin_content_builder_rails_6/engine'

module RailsAdminContentBuilderRails6
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

4 entries across 4 versions & 1 rubygems

Version Path
rails_admin_content_builder_rails_6-1.2.0 lib/rails_admin_content_builder_rails_6.rb
rails_admin_content_builder_rails_6-1.1.0 lib/rails_admin_content_builder_rails_6.rb
rails_admin_content_builder_rails_6-1.0.1 lib/rails_admin_content_builder_rails_6.rb
rails_admin_content_builder_rails_6-1.0.0 lib/rails_admin_content_builder_rails_6.rb