]> source.dussan.org Git - redmine.git/commitdiff
Fixed: issue move by non-admin broken by r2726 (#3354).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 13 May 2009 15:58:54 +0000 (15:58 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 13 May 2009 15:58:54 +0000 (15:58 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2738 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/issues_controller.rb
test/functional/issues_controller_test.rb

index 24c204098223b76dc2b9833ef8197955b6236d94..d5ce9512e141abb46e7201da14db70a56e950ff2 100644 (file)
@@ -284,7 +284,7 @@ class IssuesController < ApplicationController
       # admin is allowed to move issues to any active (visible) project
       @allowed_projects = Project.find(:all, :conditions => Project.visible_by(User.current))
     else
-      User.current.memberships.each {|m| @allowed_projects << m.project if m.role.allowed_to?(:move_issues)}
+      User.current.memberships.each {|m| @allowed_projects << m.project if m.roles.detect {|r| r.allowed_to?(:move_issues)}}
     end
     @target_project = @allowed_projects.detect {|p| p.id.to_s == params[:new_project_id]} if params[:new_project_id]
     @target_project ||= @project    
index 2bb95f8bf0433ae9135284d666d3347730c7f078..c7b32e0ed9a39003dedcf6f7571d7cc060688d81 100644 (file)
@@ -905,14 +905,14 @@ class IssuesControllerTest < Test::Unit::TestCase
   end
   
   def test_move_one_issue_to_another_project
-    @request.session[:user_id] = 1
+    @request.session[:user_id] = 2
     post :move, :id => 1, :new_project_id => 2
     assert_redirected_to :action => 'index', :project_id => 'ecookbook'
     assert_equal 2, Issue.find(1).project_id
   end
 
   def test_bulk_move_to_another_project
-    @request.session[:user_id] = 1
+    @request.session[:user_id] = 2
     post :move, :ids => [1, 2], :new_project_id => 2
     assert_redirected_to :action => 'index', :project_id => 'ecookbook'
     # Issues moved to project 2
@@ -924,7 +924,7 @@ class IssuesControllerTest < Test::Unit::TestCase
   end
  
   def test_bulk_move_to_another_tracker
-    @request.session[:user_id] = 1
+    @request.session[:user_id] = 2
     post :move, :ids => [1, 2], :new_tracker_id => 2
     assert_redirected_to :action => 'index', :project_id => 'ecookbook'
     assert_equal 2, Issue.find(1).tracker_id
@@ -932,7 +932,7 @@ class IssuesControllerTest < Test::Unit::TestCase
   end
 
   def test_bulk_copy_to_another_project
-    @request.session[:user_id] = 1
+    @request.session[:user_id] = 2
     assert_difference 'Issue.count', 2 do
       assert_no_difference 'Project.find(1).issues.count' do
         post :move, :ids => [1, 2], :new_project_id => 2, :copy_options => {:copy => '1'}