summaryrefslogtreecommitdiff
path: root/lib/gitlab/group_hierarchy.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/group_hierarchy.rb')
-rw-r--r--lib/gitlab/group_hierarchy.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/gitlab/group_hierarchy.rb b/lib/gitlab/group_hierarchy.rb
index 50e057892a6..e9d5d52cabb 100644
--- a/lib/gitlab/group_hierarchy.rb
+++ b/lib/gitlab/group_hierarchy.rb
@@ -15,12 +15,16 @@ module Gitlab
# Returns a relation that includes the base set of groups and all their
# ancestors (recursively).
def base_and_ancestors
+ return model.none unless Group.supports_nested_groups?
+
base_and_ancestors_cte.apply_to(model.all)
end
# Returns a relation that includes the base set of groups and all their
# descendants (recursively).
def base_and_descendants
+ return model.none unless Group.supports_nested_groups?
+
base_and_descendants_cte.apply_to(model.all)
end
@@ -45,6 +49,8 @@ module Gitlab
# Using this approach allows us to further add criteria to the relation with
# Rails thinking it's selecting data the usual way.
def all_groups
+ return base unless Group.supports_nested_groups?
+
ancestors = base_and_ancestors_cte
descendants = base_and_descendants_cte