diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-11-24 15:14:32 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-11-24 15:14:32 +0000 |
commit | f80f04e379a8e0eef1bd72432c6a252d3559a9c6 (patch) | |
tree | ee2eb61aac3384bfb768e46fbcd4c79c505f1258 | |
parent | fde4a42e2aa5327c81d159d5f79026e5d0246c08 (diff) | |
download | redmine-f80f04e379a8e0eef1bd72432c6a252d3559a9c6.tar.gz redmine-f80f04e379a8e0eef1bd72432c6a252d3559a9c6.zip |
Slight optimization in User#role_for_project.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@928 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/models/user.rb | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 5297b31b0..37512fda0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -178,14 +178,16 @@ class User < ActiveRecord::Base def role_for_project(project) # No role on archived projects return nil unless project && project.active? - # Find project membership - membership = memberships.detect {|m| m.project_id == project.id} - if membership - membership.role - elsif logged? - Role.non_member + if logged? + # Find project membership + membership = memberships.detect {|m| m.project_id == project.id} + if membership + membership.role + else + @role_non_member ||= Role.non_member + end else - Role.anonymous + @role_anonymous ||= Role.anonymous end end |