summaryrefslogtreecommitdiff
path: root/app/models/namespace.rb
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2016-11-23 12:23:08 +0000
committerSean McGivern <sean@mcgivern.me.uk>2016-11-23 12:23:08 +0000
commitba0d4877934349603e24125864c3a46eba271e0e (patch)
tree3debde710f9d85bc978001c245260ec826c0fe82 /app/models/namespace.rb
parent6f7ce372921a322c48e659d8382a04895fd29b1f (diff)
parent2ea5ef0ba4ee00b5551b88a6b9a68e045bf4b3f4 (diff)
downloadgitlab-ce-ba0d4877934349603e24125864c3a46eba271e0e.tar.gz
Merge branch 'fix/drop-project-authorized-for-user' into 'master'
Use authorized projects in ProjectTeam Closes #23938 and #23636 See merge request !7586
Diffstat (limited to 'app/models/namespace.rb')
-rw-r--r--app/models/namespace.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/models/namespace.rb b/app/models/namespace.rb
index b67049f0f55..99da26a89fb 100644
--- a/app/models/namespace.rb
+++ b/app/models/namespace.rb
@@ -27,6 +27,7 @@ class Namespace < ActiveRecord::Base
delegate :name, to: :owner, allow_nil: true, prefix: true
after_update :move_dir, if: :path_changed?
+ after_commit :refresh_access_of_projects_invited_groups, on: :update, if: -> { previous_changes.key?('share_with_group_lock') }
# Save the storage paths before the projects are destroyed to use them on after destroy
before_destroy(prepend: true) { @old_repository_storage_paths = repository_storage_paths }
@@ -175,4 +176,11 @@ class Namespace < ActiveRecord::Base
end
end
end
+
+ def refresh_access_of_projects_invited_groups
+ Group.
+ joins(project_group_links: :project).
+ where(projects: { namespace_id: id }).
+ find_each(&:refresh_members_authorized_projects)
+ end
end