Commit ef172c52 authored by jplang's avatar jplang

Speeds up rendering of the project list for users who belong to hundreds of projects.

git-svn-id: https://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent b5769a3b
......@@ -108,6 +108,11 @@ class Principal < ActiveRecord::Base
before_create :set_default_empty_values
def reload(*args)
@project_ids = nil
super
end
def name(formatter = nil)
to_s
end
......@@ -124,9 +129,14 @@ class Principal < ActiveRecord::Base
Principal.visible(user).where(:id => id).first == self
end
# Return true if the principal is a member of project
# Returns true if the principal is a member of project
def member_of?(project)
projects.to_a.include?(project)
project.is_a?(Project) && project_ids.include?(project.id)
end
# Returns an array of the project ids that the principal is a member of
def project_ids
@project_ids ||= super.freeze
end
def <=>(principal)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment