diff --git a/app/views/custom_actions/_form.html.erb b/app/views/custom_actions/_form.html.erb index 8dc2f99e13a..d467f6392db 100644 --- a/app/views/custom_actions/_form.html.erb +++ b/app/views/custom_actions/_form.html.erb @@ -85,6 +85,7 @@ <% selected = action.value_objects.map { |v| { id: v[:value], name: v[:label] } } %> <%= angular_component_tag "opce-user-autocompleter", inputs: { + multiple: action.multi_value?, hideSelected: true, defaultData: false, placeholder: I18n.t(:label_user_search), diff --git a/spec/features/work_packages/custom_actions/custom_actions_spec.rb b/spec/features/work_packages/custom_actions/custom_actions_spec.rb index 485727a5a9a..6eaf22a01c8 100644 --- a/spec/features/work_packages/custom_actions/custom_actions_spec.rb +++ b/spec/features/work_packages/custom_actions/custom_actions_spec.rb @@ -129,6 +129,12 @@ RSpec.describe "Custom actions", :js, with_ee: %i[custom_actions] do cf end + let!(:multi_user_custom_field) do + create(:multi_user_wp_custom_field).tap do |cf| + project.work_package_custom_fields << cf + work_package.type.custom_fields << cf + end + end let(:index_ca_page) { Pages::Admin::CustomActions::Index.new } let(:activity_tab) { Components::WorkPackages::Activities.new(work_package) } @@ -484,7 +490,7 @@ RSpec.describe "Custom actions", :js, with_ee: %i[custom_actions] do end end - it "disables the custom action button and editing other fields when submiting the custom action" do + it "disables the custom action button and editing other fields when submitting the custom action" do # create custom action 'Unassign' index_ca_page.visit! @@ -546,4 +552,24 @@ RSpec.describe "Custom actions", :js, with_ee: %i[custom_actions] do wp_page.click_custom_action("Unassign", expect_success: true) end end + + context "with a multi_user field (Bug#64981)" do + it "saves when a user is assigned to the custom field" do + index_ca_page.visit! + + new_ca_page = index_ca_page.new + new_ca_page.set_name("MultiUser") + new_ca_page.set_description("Multiple User Custom Field Test") + new_ca_page.add_action(multi_user_custom_field.name, other_member_user.name) + new_ca_page.expect_action(multi_user_custom_field.name, [other_member_user.name]) + + new_ca_page.create + + index_ca_page.expect_current_path + index_ca_page.expect_listed("MultiUser") + + edit_ca_page = index_ca_page.edit("MultiUser") + edit_ca_page.expect_action(multi_user_custom_field.name, [other_member_user.name]) + end + end end