diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2017-06-01 15:21:43 +0300 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2017-06-01 15:21:43 +0300 |
commit | c72abcefe79dd906cbbf0088b442a8979e9fc746 (patch) | |
tree | 53761819c5579b21d462ffff956f219d54a432c0 /app/models | |
parent | 358662a9f7474b41755ec0128efaaa8bef3cb249 (diff) | |
parent | 7f73f440f9a4a8761c083a6781d3c4015228d9b9 (diff) |
Merge branch 'fix-n-plus-one-queries-for-user-access' into 'master'
Fix N+1 queries for non-members in comment threads
See merge request !11827
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/project_team.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/models/project_team.rb b/app/models/project_team.rb index 543b9b293e0..e1cc56551ba 100644 --- a/app/models/project_team.rb +++ b/app/models/project_team.rb @@ -167,7 +167,7 @@ class ProjectTeam access = RequestStore.store[key] end - # Lookup only the IDs we need + # Look up only the IDs we need user_ids = user_ids - access.keys return access if user_ids.empty? @@ -178,6 +178,13 @@ class ProjectTeam maximum(:access_level) access.merge!(users_access) + + missing_user_ids = user_ids - users_access.keys + + missing_user_ids.each do |user_id| + access[user_id] = Gitlab::Access::NO_ACCESS + end + access end |