mirror of
https://github.com/redmine/redmine.git
synced 2026-03-06 12:31:40 +01:00
Optimize users visibility check (#39857).
Patch by Pavel Rosický. git-svn-id: https://svn.redmine.org/redmine/trunk@22567 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -48,8 +48,8 @@ class Principal < ActiveRecord::Base
|
||||
all
|
||||
else
|
||||
view_all_active = false
|
||||
if user.memberships.to_a.any?
|
||||
view_all_active = user.memberships.any? {|m| m.roles.any? {|r| r.users_visibility == 'all'}}
|
||||
if user.memberships.any?
|
||||
view_all_active = User.where(id: user.id).joins(memberships: :roles).where("#{Role.table_name}.users_visibility = ?", 'all').any?
|
||||
else
|
||||
view_all_active = user.builtin_role.users_visibility == 'all'
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user