From 811a5d942a672f31d393567ec3b75e8197aa3659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 30 Jan 2025 21:27:46 +0100 Subject: [PATCH] Remove feature flag for meetings --- config/initializers/feature_decisions.rb | 3 -- .../index_sub_header_component.html.erb | 36 +++++++------------ modules/meeting/app/menus/meetings/menu.rb | 12 ++----- .../meetings/filters/recurring_filter.rb | 4 --- .../spec/features/meetings_index_spec.rb | 2 +- .../recurring_meeting_create_spec.rb | 3 +- .../recurring_meeting_crud_spec.rb | 3 +- .../recurring_meeting_end_series_spec.rb | 4 +-- .../structured_meeting_crud_spec.rb | 3 +- 9 files changed, 20 insertions(+), 50 deletions(-) diff --git a/config/initializers/feature_decisions.rb b/config/initializers/feature_decisions.rb index 0ac2aa5bde4f..31818c3f5db1 100644 --- a/config/initializers/feature_decisions.rb +++ b/config/initializers/feature_decisions.rb @@ -46,9 +46,6 @@ description: "Allows to generate a PDF document from a work package description. " \ "See #45896 for details." -OpenProject::FeatureDecisions.add :recurring_meetings, - description: "Differentiate between one-time and recurring meetings." - OpenProject::FeatureDecisions.add :generate_work_package_subjects, description: "Allows the configuration for work package types to have " \ "automatically generated work package subjects." diff --git a/modules/meeting/app/components/meetings/index_sub_header_component.html.erb b/modules/meeting/app/components/meetings/index_sub_header_component.html.erb index d4c665de8501..42d26e7181bf 100644 --- a/modules/meeting/app/components/meetings/index_sub_header_component.html.erb +++ b/modules/meeting/app/components/meetings/index_sub_header_component.html.erb @@ -23,30 +23,20 @@ I18n.t(:label_meeting) end - if OpenProject::FeatureDecisions.recurring_meetings_active? - menu.with_item(label: I18n.t("meeting.types.one_time"), - tag: :a, - href: new_dialog_meetings_path(project_id: @project&.id, type: :structured), - content_arguments: { data: { controller: "async-dialog" }} - ) do |item| - item.with_description.with_content(t("meeting.types.structured_text")) - end + menu.with_item(label: I18n.t("meeting.types.one_time"), + tag: :a, + href: new_dialog_meetings_path(project_id: @project&.id, type: :structured), + content_arguments: { data: { controller: "async-dialog" } } + ) do |item| + item.with_description.with_content(t("meeting.types.structured_text")) + end - menu.with_item(label: I18n.t("meeting.types.recurring"), - tag: :a, - href: new_dialog_meetings_path(project_id: @project&.id, type: :recurring), - content_arguments: { data: { controller: "async-dialog" }} - ) do |item| - item.with_description.with_content(t("meeting.types.recurring_text")) - end - else - menu.with_item(label: I18n.t("meeting.types.structured"), - tag: :a, - href: new_dialog_meetings_path(project_id: @project&.id, type: :structured), - content_arguments: { data: { controller: "async-dialog" }} - ) do |item| - item.with_description.with_content(t("meeting.types.structured_text")) - end + menu.with_item(label: I18n.t("meeting.types.recurring"), + tag: :a, + href: new_dialog_meetings_path(project_id: @project&.id, type: :recurring), + content_arguments: { data: { controller: "async-dialog" } } + ) do |item| + item.with_description.with_content(t("meeting.types.recurring_text")) end menu.with_item(label: I18n.t("meeting.types.classic"), diff --git a/modules/meeting/app/menus/meetings/menu.rb b/modules/meeting/app/menus/meetings/menu.rb index 6fa8fed8c17d..d3840389505e 100644 --- a/modules/meeting/app/menus/meetings/menu.rb +++ b/modules/meeting/app/menus/meetings/menu.rb @@ -34,7 +34,7 @@ def initialize(params:, project: nil) def menu_items [ OpenProject::Menu::MenuGroup.new(header: nil, children: top_level_menu_items), - meeting_series_menu_group, + OpenProject::Menu::MenuGroup.new(header: I18n.t(:label_meeting_series), children: meeting_series_menu_items), OpenProject::Menu::MenuGroup.new(header: I18n.t(:label_involvement), children: involvement_sidebar_menu_items) ].compact end @@ -49,13 +49,7 @@ def top_level_menu_items recurring_menu_item, menu_item(title: I18n.t(:label_all_meetings), query_params: { filters: all_filter }) - ].compact - end - - def meeting_series_menu_group - return unless OpenProject::FeatureDecisions.recurring_meetings_active? - - OpenProject::Menu::MenuGroup.new(header: I18n.t(:label_meeting_series), children: meeting_series_menu_items) + ] end def meeting_series_menu_items @@ -80,8 +74,6 @@ def meeting_series_menu_items end def recurring_menu_item - return unless OpenProject::FeatureDecisions.recurring_meetings_active? - recurring_filter = [{ type: { operator: "=", values: ["t"] } }].to_json menu_item(title: I18n.t("label_recurring_meeting_plural"), diff --git a/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb b/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb index 01279912b04d..47f4e224d2eb 100644 --- a/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/recurring_filter.rb @@ -37,10 +37,6 @@ def human_name I18n.t("label_recurring_meeting_part_of") end - def available? - OpenProject::FeatureDecisions.recurring_meetings_active? - end - def apply_to(query_scope) if allowed_values.first.intersect?(values) query_scope.recurring diff --git a/modules/meeting/spec/features/meetings_index_spec.rb b/modules/meeting/spec/features/meetings_index_spec.rb index 82bd5f400059..bc792f386ee6 100644 --- a/modules/meeting/spec/features/meetings_index_spec.rb +++ b/modules/meeting/spec/features/meetings_index_spec.rb @@ -290,7 +290,7 @@ def invite_to_meeting(meeting) meetings_page.expect_create_new_button end - it "allows creation of both types of meetings", with_flag: { recurring_meetings: true } do + it "allows creation of both types of meetings" do meetings_page.visit! meetings_page.expect_create_new_types diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb index 8c9b0de5fb1b..924ef5639ce5 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_create_spec.rb @@ -34,8 +34,7 @@ require_relative "../../support/pages/meetings/index" RSpec.describe "Recurring meetings creation", - :js, - with_flag: { recurring_meetings: true } do + :js do include Components::Autocompleter::NgSelectAutocompleteHelpers shared_let(:project) { create(:project, enabled_module_names: %w[meetings]) } diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb index fdde6ba76c75..40c9676b4561 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_crud_spec.rb @@ -34,8 +34,7 @@ require_relative "../../support/pages/meetings/index" RSpec.describe "Recurring meetings CRUD", - :js, - with_flag: { recurring_meetings: true } do + :js do include Components::Autocompleter::NgSelectAutocompleteHelpers before_all do diff --git a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_end_series_spec.rb b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_end_series_spec.rb index 930b26b27c02..efb97aa02834 100644 --- a/modules/meeting/spec/features/recurring_meetings/recurring_meeting_end_series_spec.rb +++ b/modules/meeting/spec/features/recurring_meetings/recurring_meeting_end_series_spec.rb @@ -35,9 +35,7 @@ require_relative "../../support/pages/recurring_meeting/show" require_relative "../../support/pages/meetings/index" -RSpec.describe "Recurring meetings end series", - :js, - with_flag: { recurring_meetings: true } do +RSpec.describe "Recurring meetings end series", :js do include Components::Autocompleter::NgSelectAutocompleteHelpers shared_let(:project) { create(:project, enabled_module_names: %w[meetings]) } diff --git a/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb b/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb index 8c6d89c72fc9..283d9d07c76b 100644 --- a/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb +++ b/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb @@ -33,8 +33,7 @@ require_relative "../../support/pages/meetings/index" RSpec.describe "Structured meetings CRUD", - :js, - with_flag: { recurring_meetings: true } do + :js do include Components::Autocompleter::NgSelectAutocompleteHelpers shared_let(:project) { create(:project, enabled_module_names: %w[meetings work_package_tracking]) }