diff options
author | GitLab Release Tools Bot <delivery-team+release-tools@gitlab.com> | 2019-12-10 18:21:30 +0000 |
---|---|---|
committer | GitLab Release Tools Bot <delivery-team+release-tools@gitlab.com> | 2019-12-10 18:21:30 +0000 |
commit | eb797d461f53d4ff105e918ad85b59ff9d8e2e74 (patch) | |
tree | d842f5f7a973579bf0132b87211f8d3cef95a365 | |
parent | e101b3064ee505a9d000c0d08d2bdf7446e30fcc (diff) | |
parent | 4fcd588b89f89c8d649c1906540c8579b580eff1 (diff) | |
download | gitlab-ce-12-3-stable.tar.gz |
Merge remote-tracking branch 'dev/12-3-stable' into 12-3-stable12-3-stable
-rw-r--r-- | CHANGELOG.md | 4 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | app/services/groups/transfer_service.rb | 17 |
3 files changed, 21 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b6920e2f33e..77420db25fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 12.3.9 + +- No changes. + ## 12.3.8 - No changes. @@ -1 +1 @@ -12.3.8-ee +12.3.9 diff --git a/app/services/groups/transfer_service.rb b/app/services/groups/transfer_service.rb index fe7e07ef9f0..b73ec5cb737 100644 --- a/app/services/groups/transfer_service.rb +++ b/app/services/groups/transfer_service.rb @@ -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? @@ -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 @@ -109,3 +122,5 @@ module Groups end end end + +Groups::TransferService.prepend_if_ee('EE::Groups::TransferService') |