From dca5065e56d37c485fa2fe62338ff3c40e6ef29b Mon Sep 17 00:00:00 2001 From: Tomas Hykel Date: Fri, 29 May 2026 10:30:29 +0200 Subject: [PATCH] Add "Beta" to semantic identifier setting page --- .../admin/settings/identifier_settings_form_component.rb | 9 +++++++-- config/locales/en.yml | 2 +- .../settings/identifier_settings_form_component_spec.rb | 8 ++++---- .../admin/settings/work_packages_identifier_spec.rb | 4 ++-- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/components/work_packages/admin/settings/identifier_settings_form_component.rb b/app/components/work_packages/admin/settings/identifier_settings_form_component.rb index ad1ac2a9e6e..e19e5f36aca 100644 --- a/app/components/work_packages/admin/settings/identifier_settings_form_component.rb +++ b/app/components/work_packages/admin/settings/identifier_settings_form_component.rb @@ -144,13 +144,18 @@ module WorkPackages elsif completed? { values: identifier_values(checked: Setting[:work_packages_identifier]) } else - { button_options: { data: { action: "change->admin--work-packages-identifier#handleChange" } } } + { + values: identifier_values(checked: Setting[:work_packages_identifier]), + button_options: { data: { action: "change->admin--work-packages-identifier#handleChange" } } + } end end def identifier_values(checked:) Setting::WorkPackageIdentifier::ALLOWED_VALUES.map do |v| - { name: v, value: v, checked: v == checked } + entry = { name: v, value: v, checked: v == checked } + entry[:label] = "#{I18n.t("setting_work_packages_identifier_#{v}")} (Beta)" if v == "semantic" + entry end end end diff --git a/config/locales/en.yml b/config/locales/en.yml index c7828e39161..f54e5f4578f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -65,7 +65,7 @@ en: col_identifier: "Identifier" col_project: "Project" col_reserved: "Reserved" - not_available_in_semantic_mode: "Reserved identifiers are only available in classic identifier mode." + not_available_in_semantic_mode: "Reserved identifiers are only available in numeric identifier mode." filter_label: "Filter identifiers" btn_release: "Release" released_notice: "Identifier \"%{identifier}\" has been released." diff --git a/spec/components/work_packages/admin/settings/identifier_settings_form_component_spec.rb b/spec/components/work_packages/admin/settings/identifier_settings_form_component_spec.rb index 5a66182c9a9..ce3cb7ca4b0 100644 --- a/spec/components/work_packages/admin/settings/identifier_settings_form_component_spec.rb +++ b/spec/components/work_packages/admin/settings/identifier_settings_form_component_spec.rb @@ -104,7 +104,7 @@ RSpec.describe WorkPackages::Admin::Settings::IdentifierSettingsFormComponent, t it "renders the radio buttons as disabled" do render_component(component) expect(page).to have_field("Instance-wide numerical sequence (default)", disabled: true) - expect(page).to have_field("Project-based semantic identifiers", disabled: true) + expect(page).to have_field("Project-based semantic identifiers (Beta)", disabled: true) end it "does not render the save or autofix buttons" do @@ -136,7 +136,7 @@ RSpec.describe WorkPackages::Admin::Settings::IdentifierSettingsFormComponent, t it "renders the radio buttons as enabled" do render_component(component) expect(page).to have_field("Instance-wide numerical sequence (default)", disabled: false) - expect(page).to have_field("Project-based semantic identifiers", disabled: false) + expect(page).to have_field("Project-based semantic identifiers (Beta)", disabled: false) end it "does not call PreviewQuery" do @@ -147,7 +147,7 @@ RSpec.describe WorkPackages::Admin::Settings::IdentifierSettingsFormComponent, t context "with semantic setting", with_settings: { work_packages_identifier: "semantic" } do it "shows semantic as selected" do render_component(component) - expect(page).to have_field("Project-based semantic identifiers", checked: true) + expect(page).to have_field("Project-based semantic identifiers (Beta)", checked: true) expect(page).to have_field("Instance-wide numerical sequence (default)", checked: false) end end @@ -156,7 +156,7 @@ RSpec.describe WorkPackages::Admin::Settings::IdentifierSettingsFormComponent, t it "shows classic as selected" do render_component(component) expect(page).to have_field("Instance-wide numerical sequence (default)", checked: true) - expect(page).to have_field("Project-based semantic identifiers", checked: false) + expect(page).to have_field("Project-based semantic identifiers (Beta)", checked: false) end end end diff --git a/spec/features/admin/settings/work_packages_identifier_spec.rb b/spec/features/admin/settings/work_packages_identifier_spec.rb index c9414349aee..3c03f953a27 100644 --- a/spec/features/admin/settings/work_packages_identifier_spec.rb +++ b/spec/features/admin/settings/work_packages_identifier_spec.rb @@ -48,7 +48,7 @@ RSpec.describe "Work packages identifier admin settings", :js do context "when no projects have problematic identifiers" do it "saves the setting without showing a dialog" do visit_settings - choose "Project-based semantic identifiers" + choose "Project-based semantic identifiers (Beta)" click_button "Convert identifiers" @@ -80,7 +80,7 @@ RSpec.describe "Work packages identifier admin settings", :js do context "when switching to semantic" do before do visit_settings - choose "Project-based semantic identifiers" + choose "Project-based semantic identifiers (Beta)" end it "shows the autofix section after selecting semantic" do