summaryrefslogtreecommitdiff
path: root/app/models/members/member_role.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/members/member_role.rb')
-rw-r--r--app/models/members/member_role.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/app/models/members/member_role.rb b/app/models/members/member_role.rb
index 2e8532fa739..b4e3d6874ef 100644
--- a/app/models/members/member_role.rb
+++ b/app/models/members/member_role.rb
@@ -4,6 +4,15 @@ class MemberRole < ApplicationRecord # rubocop:disable Gitlab/NamespacedClass
has_many :members
belongs_to :namespace
- validates :namespace_id, presence: true
+ validates :namespace, presence: true
validates :base_access_level, presence: true
+ validate :belongs_to_top_level_namespace
+
+ private
+
+ def belongs_to_top_level_namespace
+ return if !namespace || namespace.root?
+
+ errors.add(:namespace, s_("must be top-level namespace"))
+ end
end