Remove feature flag

This commit is contained in:
Mir Bhatia
2025-04-28 19:15:27 +02:00
parent 3c2363468f
commit 1afbe4612f
18 changed files with 24 additions and 51 deletions
-5
View File
@@ -64,8 +64,3 @@ OpenProject::FeatureDecisions.add :work_package_comment_id_url,
OpenProject::FeatureDecisions.add :comments_with_restricted_visibility,
description: "Enables submitting comments that are restricted " \
"and only a subset of users can see"
OpenProject::FeatureDecisions.add :meeting_backlogs,
description: "Enables backlogs for meetings. " \
"Note: Meetings created with this flag off and recurring " \
"meetings will not be accessible after activating it."
@@ -78,9 +78,9 @@
end
if !in_template? || (in_template? && in_backlog?)
menu.with_divider if OpenProject::FeatureDecisions.meeting_backlogs_active?
move_to_current_meeting_action_item(menu) if move_to_current_meeting_action?
move_to_backlog_action_item(menu) if move_to_backlog_action?
menu.with_divider
move_to_current_meeting_action_item(menu) if in_backlog?
move_to_backlog_action_item(menu) if !in_backlog?
end
if move_to_next_meeting_enabled?
@@ -63,7 +63,7 @@ module MeetingAgendaItems
@meeting_agenda_item.editable? &&
@meeting.in_progress? &&
!@meeting_agenda_item.outcomes.exists? &&
(!OpenProject::FeatureDecisions.meeting_backlogs_active? || !@meeting_agenda_item.in_backlog?)
!@meeting_agenda_item.in_backlog?
end
def first?
@@ -235,14 +235,6 @@ module MeetingAgendaItems
@meeting_agenda_item.meeting_section.backlog?
end
def move_to_current_meeting_action?
in_backlog? && OpenProject::FeatureDecisions.meeting_backlogs_active?
end
def move_to_backlog_action?
!in_backlog? && OpenProject::FeatureDecisions.meeting_backlogs_active?
end
def in_template?
@meeting.templated?
end
@@ -48,7 +48,7 @@ module MeetingAgendaItems::Outcomes
def render?
@meeting.in_progress? &&
User.current.allowed_in_project?(:create_meeting_minutes, @meeting.project) &&
(!OpenProject::FeatureDecisions.meeting_backlogs_active? || !@meeting_agenda_item.in_backlog?)
!@meeting_agenda_item.in_backlog?
end
end
end
@@ -47,7 +47,7 @@ module MeetingAgendaItems
def edit_enabled?
@meeting.in_progress? &&
User.current.allowed_in_project?(:create_meeting_minutes, @meeting.project) &&
(!OpenProject::FeatureDecisions.meeting_backlogs_active? || !@agenda_item.in_backlog?)
!@agenda_item.in_backlog?
end
def edit_action_item(menu)
@@ -45,9 +45,7 @@ module MeetingSections
private
def show?
!@meeting.closed? &&
!@meeting.template? &&
OpenProject::FeatureDecisions.meeting_backlogs_active?
!@meeting.closed? && !@meeting.template?
end
def wrapper_data_attributes
@@ -16,10 +16,8 @@
render(MeetingAgendaItems::NewButtonComponent.new(meeting: @meeting))
end
if OpenProject::FeatureDecisions.meeting_backlogs_active?
agenda.with_row do
render(MeetingSections::Backlogs::ContainerComponent.new(meeting: @meeting, collapsed: @collapsed))
end
agenda.with_row do
render(MeetingSections::Backlogs::ContainerComponent.new(meeting: @meeting, collapsed: @collapsed))
end
agenda.with_row(mt: 3, display: [:block, nil, :none]) do
@@ -64,8 +64,6 @@ module MeetingOutcomes
end
def validate_not_in_backlog
return true unless OpenProject::FeatureDecisions.meeting_backlogs_active?
if model.meeting_agenda_item.in_backlog?
errors.add :base, I18n.t(:text_outcome_not_editable_anymore)
end
@@ -144,8 +144,7 @@ module Meetings
def render_agenda_item_form_via_turbo_stream(collapsed:, meeting: @meeting, meeting_section: @meeting_section,
type: :simple)
if meeting.sections.empty? &&
(!OpenProject::FeatureDecisions.meeting_backlogs_active? || meeting_section != meeting.backlog)
if meeting.sections.empty? && meeting_section != meeting.backlog
render_agenda_item_form_for_empty_meeting_via_turbo_stream(type:)
else
render_agenda_item_form_in_section_via_turbo_stream(meeting:, meeting_section:, type:, collapsed:)
@@ -218,8 +217,7 @@ module Meetings
def add_item_via_turbo_stream(meeting_agenda_item: @meeting_agenda_item, clear_slate: false) # rubocop:disable Metrics/AbcSize
if clear_slate
update_list_via_turbo_stream(form_hidden: false, form_type: @agenda_item_type)
elsif meeting_agenda_item.meeting.agenda_items.count == 1 &&
(!OpenProject::FeatureDecisions.meeting_backlogs_active? || meeting_agenda_item.meeting.sections.present?)
elsif meeting_agenda_item.meeting.agenda_items.count == 1 && meeting_agenda_item.meeting.sections.present?
update_list_via_turbo_stream(form_hidden: true)
update_new_component_via_turbo_stream(
@@ -372,14 +370,12 @@ module Meetings
end
def update_backlog_via_turbo_stream(collapsed:, meeting: @meeting)
if OpenProject::FeatureDecisions.meeting_backlogs_active?
update_via_turbo_stream(
component: MeetingSections::Backlogs::ContainerComponent.new(
meeting: meeting,
collapsed:
)
update_via_turbo_stream(
component: MeetingSections::Backlogs::ContainerComponent.new(
meeting: meeting,
collapsed:
)
end
)
end
def update_section_via_turbo_stream(meeting_section: @meeting_section, form_hidden: true, form_type: :simple,
@@ -41,7 +41,7 @@ class MeetingOutcomesController < ApplicationController
def new
update_all_via_turbo_stream
if @meeting.in_progress? && (!OpenProject::FeatureDecisions.meeting_backlogs_active? || !@meeting_agenda_item.in_backlog?)
if @meeting.in_progress? && !@meeting_agenda_item.in_backlog?
render_base_outcome_component_via_turbo_stream(meeting: @meeting, meeting_agenda_item: @meeting_agenda_item,
meeting_outcome: nil, edit: true)
else
@@ -100,8 +100,6 @@ class WorkPackageMeetingsTabController < ApplicationController
end
def backlog_id
return unless OpenProject::FeatureDecisions.meeting_backlogs_active?
meeting_id = add_work_package_to_meeting_params[:meeting_id]
return if meeting_id.blank?
@@ -43,7 +43,7 @@ module Meetings
end
end
if call.success? && OpenProject::FeatureDecisions.meeting_backlogs_active?
if call.success?
backlog = create_backlog(call.result)
call.merge!(backlog)
end
@@ -77,7 +77,7 @@ RSpec.describe MeetingOutcomes::CreateContract do
it_behaves_like "contract is invalid", base: I18n.t(:text_outcome_not_editable_anymore)
end
context "when :meeting_agenda_item is in a backlog", with_flag: { meeting_backlogs: true } do
context "when :meeting_agenda_item is in a backlog" do
before do
meeting.update_column(:state, :in_progress)
meeting_agenda_item.meeting_section.update_column(:backlog, true)
@@ -69,7 +69,7 @@ RSpec.describe MeetingOutcomes::DeleteContract do
it_behaves_like "contract is invalid", base: I18n.t(:text_outcome_not_editable_anymore)
end
context "when :meeting_agenda_item is in a backlog", with_flag: { meeting_backlogs: true } do
context "when :meeting_agenda_item is in a backlog" do
before do
meeting.update_column(:state, :in_progress)
meeting_agenda_item.meeting_section.update_column(:backlog, true)
@@ -77,7 +77,7 @@ RSpec.describe MeetingOutcomes::UpdateContract do
it_behaves_like "contract is invalid", base: I18n.t(:text_outcome_not_editable_anymore)
end
context "when :meeting_agenda_item is in a backlog", with_flag: { meeting_backlogs: true } do
context "when :meeting_agenda_item is in a backlog" do
before do
meeting.update_column(:state, :in_progress)
meeting_agenda_item.meeting_section.update_column(:backlog, true)
@@ -33,7 +33,7 @@ require "spec_helper"
require_relative "../support/pages/meetings/show"
require_relative "../support/pages/recurring_meeting/show"
RSpec.describe "Meeting Backlogs", :js, with_flag: { meeting_backlogs: true } do
RSpec.describe "Meeting Backlogs", :js do
shared_let(:project) { create(:project, enabled_module_names: %w[meetings]) }
shared_let(:user) do
create :user,
@@ -63,7 +63,7 @@ RSpec.describe Meetings::CreateService, "integration", type: :model do
end
end
describe "backlog", with_flag: { meeting_backlogs: true } do
describe "backlog" do
it "creates a backlog" do
expect(subject).to be_success
expect(subject.result.backlog).to be_present
@@ -30,9 +30,7 @@
require "spec_helper"
require "services/base_services/behaves_like_create_service"
RSpec.describe Meetings::CreateService,
type: :model,
with_flag: { meeting_backlogs: true } do
RSpec.describe Meetings::CreateService, type: :model do
let(:section_double) { instance_double(MeetingSections::CreateService) }
before do