From: Jean-Philippe Lang Date: Wed, 17 Jun 2015 18:36:38 +0000 (+0000) Subject: Prevent roles loading on each call to User#managed_roles for admins. X-Git-Tag: 3.1.0~65 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ba61b13008afd0c9d7fcd80d51a7628930b4566a;p=redmine.git Prevent roles loading on each call to User#managed_roles for admins. git-svn-id: http://svn.redmine.org/redmine/trunk@14328 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/user.rb b/app/models/user.rb index 9ff706178..b36447cad 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -157,6 +157,7 @@ class User < Principal @notified_projects_ids_changed = false @builtin_role = nil @visible_project_ids = nil + @managed_roles = nil base_reload(*args) end @@ -569,7 +570,7 @@ class User < Principal # Returns the roles that the user is allowed to manage for the given project def managed_roles(project) if admin? - Role.givable.to_a + @managed_roles ||= Role.givable.to_a else membership(project).try(:managed_roles) || [] end