mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-19 01:26:08 +10:00
Merge branch 'make-max-member-access-faster' into 'master'
Reduce overhead and optimize ProjectTeam#max_member_access performance
See merge request !4973
(cherry picked from commit d33991f8cc)
This commit is contained in:
committed by
Robert Speicher
parent
428f56308d
commit
f3de17fd24
@@ -13,6 +13,7 @@ v 8.9.3
|
||||
- Fixed avatar alignment in new MR view. !4901
|
||||
- Removed fade when filtering results. !4932
|
||||
- Fix missing avatar on system notes. !4954
|
||||
- Reduce overhead and optimize ProjectTeam#max_member_access performance. !4973
|
||||
|
||||
v 8.9.2
|
||||
- Fix visibility of snippets when searching.
|
||||
|
||||
@@ -32,6 +32,7 @@ class Member < ActiveRecord::Base
|
||||
scope :request, -> { where.not(requested_at: nil) }
|
||||
scope :non_request, -> { where(requested_at: nil) }
|
||||
scope :non_pending, -> { non_request.non_invite }
|
||||
scope :has_access, -> { where('access_level > 0') }
|
||||
|
||||
scope :guests, -> { where(access_level: GUEST) }
|
||||
scope :reporters, -> { where(access_level: REPORTER) }
|
||||
|
||||
@@ -137,20 +137,10 @@ class ProjectTeam
|
||||
def max_member_access(user_id)
|
||||
access = []
|
||||
|
||||
project.members.non_request.each do |member|
|
||||
if member.user_id == user_id
|
||||
access << member.access_field if member.access_field
|
||||
break
|
||||
end
|
||||
end
|
||||
access += project.members.non_request.where(user_id: user_id).has_access.pluck(:access_level)
|
||||
|
||||
if group
|
||||
group.members.non_request.each do |member|
|
||||
if member.user_id == user_id
|
||||
access << member.access_field if member.access_field
|
||||
break
|
||||
end
|
||||
end
|
||||
access += group.members.non_request.where(user_id: user_id).has_access.pluck(:access_level)
|
||||
end
|
||||
|
||||
if project.invited_groups.any? && project.allowed_to_share_with_group?
|
||||
|
||||
Reference in New Issue
Block a user