Commit 3fe0553e authored by Alessio Caiazza's avatar Alessio Caiazza

Merge branch 'security-37766-transfer-group-reindex-ce-12-5' into '12-5-stable'

Trigger Elasticsearch indexing when public group moved to private

See merge request gitlab/gitlabhq!3577
parents 0330bd0a 1a7c008f
...@@ -39,9 +39,15 @@ module Groups ...@@ -39,9 +39,15 @@ module Groups
ensure_ownership ensure_ownership
end end
post_update_hooks(@updated_project_ids)
true true
end end
# Overridden in EE
def post_update_hooks(updated_project_ids)
end
def ensure_allowed_transfer def ensure_allowed_transfer
raise_transfer_error(:group_is_already_root) if group_is_already_root? raise_transfer_error(:group_is_already_root) if group_is_already_root?
raise_transfer_error(:same_parent_as_current) if same_parent? raise_transfer_error(:same_parent_as_current) if same_parent?
...@@ -96,9 +102,16 @@ module Groups ...@@ -96,9 +102,16 @@ module Groups
.where(id: descendants.select(:id)) .where(id: descendants.select(:id))
.update_all(visibility_level: @new_parent_group.visibility_level) .update_all(visibility_level: @new_parent_group.visibility_level)
@group projects_to_update = @group
.all_projects .all_projects
.where("visibility_level > ?", @new_parent_group.visibility_level) .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) .update_all(visibility_level: @new_parent_group.visibility_level)
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment