From e98aba32fe37f62355f5825ff5de2c77dc33bbfe Mon Sep 17 00:00:00 2001 From: Rutger Wessels Date: Wed, 7 Aug 2024 16:54:49 +0200 Subject: [PATCH 1/2] Remove organization validation exception from Registrations::GroupsController --- ee/app/controllers/registrations/groups_controller.rb | 7 +++---- .../controllers/registrations/groups_controller_spec.rb | 3 ++- .../helpers/disable_namespace_organization_validation.yml | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/ee/app/controllers/registrations/groups_controller.rb b/ee/app/controllers/registrations/groups_controller.rb index 92dc16428cd86e..fe877eafc4dc78 100644 --- a/ee/app/controllers/registrations/groups_controller.rb +++ b/ee/app/controllers/registrations/groups_controller.rb @@ -40,10 +40,9 @@ def create Registrations::StandardNamespaceCreateService end - service_params = params.with_defaults(organization_id: Current.organization_id) - result = Namespace.with_disabled_organization_validation do - service_class.new(current_user, service_params).execute - end + params[:group].with_defaults!(organization_id: Current.organization_id) + + result = service_class.new(current_user, params).execute if result.success? actions_after_success(result.payload) diff --git a/ee/spec/controllers/registrations/groups_controller_spec.rb b/ee/spec/controllers/registrations/groups_controller_spec.rb index 94cb7368e018f0..e75d266992afcb 100644 --- a/ee/spec/controllers/registrations/groups_controller_spec.rb +++ b/ee/spec/controllers/registrations/groups_controller_spec.rb @@ -134,7 +134,7 @@ end end - describe 'POST #create' do + describe 'POST #create', :with_current_organization do subject(:post_create) { post :create, params: params } let(:params) { { group: group_params, project: project_params }.merge(extra_params) } @@ -165,6 +165,7 @@ context 'with an authenticated user' do before do sign_in(user) + current_organization.users << user end it_behaves_like 'hides email confirmation warning' diff --git a/spec/support/helpers/disable_namespace_organization_validation.yml b/spec/support/helpers/disable_namespace_organization_validation.yml index ab11f2437c0748..33f99799b68e34 100644 --- a/spec/support/helpers/disable_namespace_organization_validation.yml +++ b/spec/support/helpers/disable_namespace_organization_validation.yml @@ -4,7 +4,6 @@ - ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb - ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb - ee/spec/controllers/ldap/omniauth_callbacks_controller_spec.rb -- ee/spec/controllers/registrations/groups_controller_spec.rb - ee/spec/features/groups_spec.rb - ee/spec/features/projects/settings/merge_requests_settings_spec.rb - ee/spec/features/registrations/combined_registration_spec.rb @@ -36,7 +35,6 @@ - ee/spec/services/epics/update_dates_service_spec.rb - ee/spec/services/gitlab_subscriptions/trials/create_service_spec.rb - ee/spec/services/registrations/import_namespace_create_service_spec.rb -- ee/spec/services/registrations/standard_namespace_create_service_spec.rb - spec/controllers/admin/groups_controller_spec.rb - spec/controllers/admin/users_controller_spec.rb - spec/controllers/groups_controller_spec.rb -- GitLab From 625a3498ef6f4ccc7491d8753a518783742eea4d Mon Sep 17 00:00:00 2001 From: Rutger Wessels Date: Wed, 7 Aug 2024 17:11:17 +0200 Subject: [PATCH 2/2] Remove organization validation exception from Registration group creation classes --- .../registrations/standard_namespace_create_service.rb | 5 +---- .../registrations/import_namespace_create_service_spec.rb | 5 ++++- .../registrations/standard_namespace_create_service_spec.rb | 5 ++++- .../helpers/disable_namespace_organization_validation.yml | 1 - 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ee/app/services/registrations/standard_namespace_create_service.rb b/ee/app/services/registrations/standard_namespace_create_service.rb index 06ebae6f4fac0f..b10ae1bf2f0580 100644 --- a/ee/app/services/registrations/standard_namespace_create_service.rb +++ b/ee/app/services/registrations/standard_namespace_create_service.rb @@ -63,10 +63,7 @@ def project_params_attributes end def create_project_flow - @project = Namespace.with_disabled_organization_validation do - ::Projects::CreateService.new(user, create_project_params).execute - end - + @project = ::Projects::CreateService.new(user, create_project_params).execute if project.persisted? Gitlab::Tracking.event(self.class.name, 'create_project', namespace: project.namespace, user: user) diff --git a/ee/spec/services/registrations/import_namespace_create_service_spec.rb b/ee/spec/services/registrations/import_namespace_create_service_spec.rb index c560173e92f3f9..7524b2945fb57e 100644 --- a/ee/spec/services/registrations/import_namespace_create_service_spec.rb +++ b/ee/spec/services/registrations/import_namespace_create_service_spec.rb @@ -8,12 +8,14 @@ describe '#execute' do let_it_be(:user, reload: true) { create(:user) } let_it_be(:group) { create(:group) } + let_it_be(:organization) { create(:organization) } let(:extra_params) { {} } let(:group_params) do { name: 'Group name', path: 'group-path', - visibility_level: Gitlab::VisibilityLevel::PRIVATE.to_s + visibility_level: Gitlab::VisibilityLevel::PRIVATE.to_s, + organization_id: organization.id } end @@ -23,6 +25,7 @@ before_all do group.add_owner(user) + organization.users << user end subject(:execute) { described_class.new(user, params).execute } diff --git a/ee/spec/services/registrations/standard_namespace_create_service_spec.rb b/ee/spec/services/registrations/standard_namespace_create_service_spec.rb index 873065b1366f3d..1f1ee3934beeda 100644 --- a/ee/spec/services/registrations/standard_namespace_create_service_spec.rb +++ b/ee/spec/services/registrations/standard_namespace_create_service_spec.rb @@ -8,12 +8,14 @@ describe '#execute' do let_it_be(:user, reload: true) { create(:user) } let_it_be(:group) { create(:group) } + let_it_be(:organization) { create(:organization) } let(:extra_params) { {} } let(:group_params) do { name: 'Group name', path: 'group-path', - visibility_level: Gitlab::VisibilityLevel::PRIVATE.to_s + visibility_level: Gitlab::VisibilityLevel::PRIVATE.to_s, + organization_id: organization.id } end @@ -33,6 +35,7 @@ before_all do group.add_owner(user) + organization.users << user end subject(:execute) { described_class.new(user, params).execute } diff --git a/spec/support/helpers/disable_namespace_organization_validation.yml b/spec/support/helpers/disable_namespace_organization_validation.yml index 33f99799b68e34..914171d896bdc1 100644 --- a/spec/support/helpers/disable_namespace_organization_validation.yml +++ b/spec/support/helpers/disable_namespace_organization_validation.yml @@ -34,7 +34,6 @@ - ee/spec/services/users/service_accounts/create_service_spec.rb - ee/spec/services/epics/update_dates_service_spec.rb - ee/spec/services/gitlab_subscriptions/trials/create_service_spec.rb -- ee/spec/services/registrations/import_namespace_create_service_spec.rb - spec/controllers/admin/groups_controller_spec.rb - spec/controllers/admin/users_controller_spec.rb - spec/controllers/groups_controller_spec.rb -- GitLab