diff --git a/packages/forest_admin_agent/lib/forest_admin_agent/utils/schema/generator_action.rb b/packages/forest_admin_agent/lib/forest_admin_agent/utils/schema/generator_action.rb index 4e2a50a97..5bbe548f6 100644 --- a/packages/forest_admin_agent/lib/forest_admin_agent/utils/schema/generator_action.rb +++ b/packages/forest_admin_agent/lib/forest_admin_agent/utils/schema/generator_action.rb @@ -42,6 +42,8 @@ def self.build_schema(collection, name) schema = { id: "#{collection.name}-#{action_index}-#{slug}", name: name, + submitButtonLabel: action.submit_button_label, + description: action.description, type: action.scope.downcase, baseUrl: nil, endpoint: "/forest/_actions/#{collection.name}/#{action_index}/#{slug}", diff --git a/packages/forest_admin_agent/spec/lib/forest_admin_agent/utils/schema/generator_action_spec.rb b/packages/forest_admin_agent/spec/lib/forest_admin_agent/utils/schema/generator_action_spec.rb index 3d2b30bcb..639bd870c 100644 --- a/packages/forest_admin_agent/spec/lib/forest_admin_agent/utils/schema/generator_action_spec.rb +++ b/packages/forest_admin_agent/spec/lib/forest_admin_agent/utils/schema/generator_action_spec.rb @@ -25,6 +25,8 @@ module Schema { id: 'collection-0-send-email', name: 'Send email', + submitButtonLabel: nil, + description: nil, type: 'single', baseUrl: nil, endpoint: '/forest/_actions/collection/0/send-email', @@ -69,6 +71,8 @@ module Schema { id: 'collection-0-send-email', name: 'Send email', + submitButtonLabel: nil, + description: nil, type: 'single', baseUrl: nil, endpoint: '/forest/_actions/collection/0/send-email', @@ -101,7 +105,9 @@ module Schema { scope: Types::ActionScope::SINGLE, static_form?: true, - is_generate_file: false + is_generate_file: false, + description: nil, + submit_button_label: nil } ) } @@ -137,7 +143,9 @@ module Schema { scope: Types::ActionScope::SINGLE, static_form?: true, - is_generate_file: false + is_generate_file: false, + description: nil, + submit_button_label: nil } ) } @@ -168,7 +176,9 @@ module Schema { scope: Types::ActionScope::SINGLE, static_form?: true, - is_generate_file: false + is_generate_file: false, + description: nil, + submit_button_label: nil } ) } @@ -236,6 +246,8 @@ module Schema { id: 'collection-0-send-email', name: 'Send email', + submitButtonLabel: nil, + description: nil, type: 'single', baseUrl: nil, endpoint: '/forest/_actions/collection/0/send-email', @@ -288,6 +300,8 @@ module Schema { id: 'collection-0-send-email', name: 'Send email', + submitButtonLabel: nil, + description: nil, type: 'single', baseUrl: nil, endpoint: '/forest/_actions/collection/0/send-email', @@ -344,6 +358,8 @@ module Schema { id: 'collection-0-charge-credit-card', name: 'Charge credit card', + submitButtonLabel: nil, + description: nil, type: 'single', baseUrl: nil, endpoint: '/forest/_actions/collection/0/charge-credit-card', diff --git a/packages/forest_admin_datasource_customizer/lib/forest_admin_datasource_customizer/decorators/action/base_action.rb b/packages/forest_admin_datasource_customizer/lib/forest_admin_datasource_customizer/decorators/action/base_action.rb index ec49ff238..4aed12ddd 100644 --- a/packages/forest_admin_datasource_customizer/lib/forest_admin_datasource_customizer/decorators/action/base_action.rb +++ b/packages/forest_admin_datasource_customizer/lib/forest_admin_datasource_customizer/decorators/action/base_action.rb @@ -2,12 +2,14 @@ module ForestAdminDatasourceCustomizer module Decorators module Action class BaseAction - attr_reader :scope, :form, :is_generate_file, :execute + attr_reader :scope, :form, :is_generate_file, :description, :submit_button_label, :execute - def initialize(scope:, form: nil, is_generate_file: false, &execute) + def initialize(scope:, form: nil, is_generate_file: false, description: nil, submit_button_label: nil, &execute) @scope = scope @form = form @is_generate_file = is_generate_file + @description = description + @submit_button_label = submit_button_label @execute = execute end diff --git a/packages/forest_admin_datasource_customizer/spec/lib/forest_admin_datasource_customizer/decorators/action/base_action_spec.rb b/packages/forest_admin_datasource_customizer/spec/lib/forest_admin_datasource_customizer/decorators/action/base_action_spec.rb index 5e74903f7..1caaf7f0e 100644 --- a/packages/forest_admin_datasource_customizer/spec/lib/forest_admin_datasource_customizer/decorators/action/base_action_spec.rb +++ b/packages/forest_admin_datasource_customizer/spec/lib/forest_admin_datasource_customizer/decorators/action/base_action_spec.rb @@ -21,6 +21,16 @@ module Action expect(action.form).to eq(form) expect(action.is_generate_file).to be(false) expect(action.execute).to be_nil + expect(action.description).to be_nil + expect(action.submit_button_label).to be_nil + end + + it 'set description and submit_button_label when provided' do + description = 'Send a notification to the user' + submit_button_label = 'Send notification !' + action = described_class.new(scope: scope, form: form, description: description, submit_button_label: submit_button_label) + expect(action.description).to eq(description) + expect(action.submit_button_label).to eq(submit_button_label) end end