From 7f9bb0f806c78c9754a9181fcfc14847c3589f55 Mon Sep 17 00:00:00 2001 From: Jan Sandbrink Date: Thu, 19 Dec 2024 16:58:36 +0100 Subject: [PATCH] Add an enterprise banner on top of automatic subject configuration We are making sure that users can revert back to manual subjects at any time and even keep using the feature if it's still enabled after their enterprise token expired. They will merely not be able to set new types to automatic and have to live with an enterprise banner being shown to them whenever they change the subject config. --- .../types/subject_configuration_component.html.erb | 4 ++++ app/forms/work_packages/types/subject_configuration_form.rb | 2 ++ config/locales/en.yml | 2 ++ lib/open_project/static/links.rb | 3 +++ 4 files changed, 11 insertions(+) diff --git a/app/components/work_packages/types/subject_configuration_component.html.erb b/app/components/work_packages/types/subject_configuration_component.html.erb index 95792457632a..ec486f0f7e70 100644 --- a/app/components/work_packages/types/subject_configuration_component.html.erb +++ b/app/components/work_packages/types/subject_configuration_component.html.erb @@ -27,6 +27,10 @@ See COPYRIGHT and LICENSE files for more details. ++#%> +<%= + render(EnterpriseEdition::BannerComponent.new(:automatic_subject_generation)) +%> + <%= primer_form_with(**form_options) do |f| render(WorkPackages::Types::SubjectConfigurationForm.new(f)) diff --git a/app/forms/work_packages/types/subject_configuration_form.rb b/app/forms/work_packages/types/subject_configuration_form.rb index 455b1213e5ad..92a011193eaa 100644 --- a/app/forms/work_packages/types/subject_configuration_form.rb +++ b/app/forms/work_packages/types/subject_configuration_form.rb @@ -36,6 +36,7 @@ class SubjectConfigurationForm < ApplicationForm group.radio_button( value: "manual", checked: !has_pattern?, + disabled: !EnterpriseToken.active? && !has_pattern?, label: I18n.t("types.edit.subject_configuration.manually_editable_subjects.label"), caption: I18n.t("types.edit.subject_configuration.manually_editable_subjects.caption"), data: { action: "admin--subject-configuration#hidePatternInput" } @@ -43,6 +44,7 @@ class SubjectConfigurationForm < ApplicationForm group.radio_button( value: "auto", checked: has_pattern?, + disabled: !EnterpriseToken.active? && !has_pattern?, label: I18n.t("types.edit.subject_configuration.automatically_generated_subjects.label"), caption: I18n.t("types.edit.subject_configuration.automatically_generated_subjects.caption"), data: { action: "admin--subject-configuration#showPatternInput" } diff --git a/config/locales/en.yml b/config/locales/en.yml index 9a4dc2833880..d4d9a76eb54e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1903,6 +1903,8 @@ en: upsale: title: "Enterprise add-on" link_title: "More information" + automatic_subject_generation: + description: "Create automatically generated subjects using referenced attributes and text." form_configuration: description: "Customize the form configuration with these additional add-ons:" add_groups: "Add new attribute groups" diff --git a/lib/open_project/static/links.rb b/lib/open_project/static/links.rb index ed1dcb06eef0..2fc7cd42418d 100644 --- a/lib/open_project/static/links.rb +++ b/lib/open_project/static/links.rb @@ -251,6 +251,9 @@ def static_links href: "https://www.openproject.org/docs/user-guide/time-and-costs/progress-tracking/" }, enterprise_docs: { + automatic_subject_generation: { + href: "https://www.openproject.org/docs/todo/do-not-merge" + }, form_configuration: { href: "https://www.openproject.org/docs/system-admin-guide/manage-work-packages/work-package-types/#work-package-form-configuration-enterprise-add-on" },