]> source.dussan.org Git - redmine.git/commitdiff
Modified logged_in_user_membership controller method so that it returns a role
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 4 Apr 2007 17:32:23 +0000 (17:32 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 4 Apr 2007 17:32:23 +0000 (17:32 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@415 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/application.rb

index dd8d7119334da7102b5c8263a745fbb2b580c9e4..2a23c311e0573640f4fe434e97c9acd6934a139d 100644 (file)
@@ -32,8 +32,10 @@ class ApplicationController < ActionController::Base
     end
   end
   
+  # Returns the role that the logged in user has on the current project
+  # or nil if current user is not a member of the project
   def logged_in_user_membership
-    @user_membership ||= Member.find(:first, :conditions => ["user_id=? and project_id=?", self.logged_in_user.id, @project.id])
+    @user_membership ||= logged_in_user.role_for_project(@project)
   end
   
   # check if login is globally required to access the application
@@ -86,8 +88,7 @@ class ApplicationController < ActionController::Base
     # admin is always authorized
     return true if self.logged_in_user.admin?
     # if not admin, check membership permission    
-    @user_membership ||= logged_in_user.role_for_project(@project)
-    if @user_membership and Permission.allowed_to_role( "%s/%s" % [ ctrl, action ], @user_membership )    
+    if logged_in_user_membership and Permission.allowed_to_role( "%s/%s" % [ ctrl, action ], logged_in_user_membership )    
       return true              
     end                
     render :nothing => true, :status => 403