]> source.dussan.org Git - redmine.git/commitdiff
Adds User#builtin_role.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 12 Jun 2013 19:38:43 +0000 (19:38 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 12 Jun 2013 19:38:43 +0000 (19:38 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11965 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/project.rb
app/models/user.rb

index d83b4758f44afc7037b3c80744ac96809961a431..e2b7a9d9e548c5faa26b4751646b03ffd1a9ff65 100644 (file)
@@ -186,7 +186,7 @@ class Project < ActiveRecord::Base
     else
       statement_by_role = {}
       unless options[:member]
-        role = user.logged? ? Role.non_member : Role.anonymous
+        role = user.builtin_role
         if role.allowed_to?(permission)
           statement_by_role[role] = "#{Project.table_name}.is_public = #{connection.quoted_true}"
         end
index 5c1a988663d8f9917327c99141114c22a2a4c221..b5d6003950e701db5d81aa2e3ff62f9024fc42b2 100644 (file)
@@ -442,6 +442,15 @@ class User < Principal
     @membership_by_project_id[project_id]
   end
 
+  # Returns the user's bult-in role
+  def builtin_role
+    if logged?
+      @role_non_member ||= Role.non_member
+    else
+      @role_anonymous ||= Role.anonymous
+    end
+  end
+
   # Return user's roles for project
   def roles_for_project(project)
     roles = []
@@ -453,12 +462,10 @@ class User < Principal
       if membership
         roles = membership.roles
       else
-        @role_non_member ||= Role.non_member
-        roles << @role_non_member
+        roles << builtin_role
       end
     else
-      @role_anonymous ||= Role.anonymous
-      roles << @role_anonymous
+      roles << builtin_role
     end
     roles
   end