summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/group.rb10
-rw-r--r--spec/models/group_spec.rb8
2 files changed, 14 insertions, 4 deletions
diff --git a/app/models/group.rb b/app/models/group.rb
index 3f80c1373f1..8f39c3a658f 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -58,6 +58,8 @@ class Group < Namespace
add_authentication_token_field :runners_token, encrypted: -> { Feature.enabled?(:groups_tokens_optional_encryption, default_enabled: true) ? :optional : :required }
+ before_create :default_subgroup_creation_level_to_maintainers
+
after_create :post_create_hook
after_destroy :post_destroy_hook
after_save :update_two_factor_requirement
@@ -416,10 +418,6 @@ class Group < Namespace
super || ::Gitlab::CurrentSettings.default_project_creation
end
- def subgroup_creation_level
- super || ::Gitlab::Access::MAINTAINER_SUBGROUP_ACCESS
- end
-
private
def update_two_factor_requirement
@@ -449,4 +447,8 @@ class Group < Namespace
errors.add(:visibility_level, "#{visibility} is not allowed since there are sub-groups with higher visibility.")
end
+
+ def default_subgroup_creation_level_to_maintainers
+ self.subgroup_creation_level = ::Gitlab::Access::MAINTAINER_SUBGROUP_ACCESS
+ end
end
diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb
index 470ce65707d..9ae18d7bab7 100644
--- a/spec/models/group_spec.rb
+++ b/spec/models/group_spec.rb
@@ -994,4 +994,12 @@ describe Group do
expect(group.project_creation_level).to eq(Gitlab::CurrentSettings.default_project_creation)
end
end
+
+ describe 'subgroup_creation_level' do
+ it 'defaults to maintainers' do
+ group = create (:group)
+
+ expect(group.subgroup_creation_level).to eq(Gitlab::Access::MAINTAINER_SUBGROUP_ACCESS)
+ end
+ end
end