Skip to content
Snippets Groups Projects
Unverified Commit 775b49ec authored by Dylan Griffith's avatar Dylan Griffith Committed by Sean McGivern
Browse files

Trigger Elasticsearch indexing when public group moved to private

This fixes https://gitlab.com/gitlab-org/gitlab/issues/37766 which is
caused by the fact that we leave the stale permissions data in the index
after a group is moved to another group.
parent e101b306
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -38,9 +38,15 @@ module Groups
ensure_ownership
end
 
post_update_hooks(@updated_project_ids)
true
end
 
# Overridden in EE
def post_update_hooks(updated_project_ids)
end
def ensure_allowed_transfer
raise_transfer_error(:group_is_already_root) if group_is_already_root?
raise_transfer_error(:same_parent_as_current) if same_parent?
Loading
Loading
@@ -90,9 +96,16 @@ module Groups
.where(id: descendants.select(:id))
.update_all(visibility_level: @new_parent_group.visibility_level)
 
@group
projects_to_update = @group
.all_projects
.where("visibility_level > ?", @new_parent_group.visibility_level)
# Used in post_update_hooks in EE. Must use pluck (and not select)
# here as after we perform the update below we won't be able to find
# these records again.
@updated_project_ids = projects_to_update.pluck(:id)
projects_to_update
.update_all(visibility_level: @new_parent_group.visibility_level)
end
# rubocop: enable CodeReuse/ActiveRecord
Loading
Loading
@@ -109,3 +122,5 @@ module Groups
end
end
end
Groups::TransferService.prepend_if_ee('EE::Groups::TransferService')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment