Commit 566d0a6c authored by Jean-Philippe Lang's avatar Jean-Philippe Lang

Fixed: issue move by non-admin broken by r2726 (#3354).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2738 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent 09a613b0
...@@ -284,7 +284,7 @@ class IssuesController < ApplicationController ...@@ -284,7 +284,7 @@ class IssuesController < ApplicationController
# admin is allowed to move issues to any active (visible) project # admin is allowed to move issues to any active (visible) project
@allowed_projects = Project.find(:all, :conditions => Project.visible_by(User.current)) @allowed_projects = Project.find(:all, :conditions => Project.visible_by(User.current))
else 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 end
@target_project = @allowed_projects.detect {|p| p.id.to_s == params[:new_project_id]} if params[:new_project_id] @target_project = @allowed_projects.detect {|p| p.id.to_s == params[:new_project_id]} if params[:new_project_id]
@target_project ||= @project @target_project ||= @project
......
...@@ -905,14 +905,14 @@ class IssuesControllerTest < Test::Unit::TestCase ...@@ -905,14 +905,14 @@ class IssuesControllerTest < Test::Unit::TestCase
end end
def test_move_one_issue_to_another_project 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 post :move, :id => 1, :new_project_id => 2
assert_redirected_to :action => 'index', :project_id => 'ecookbook' assert_redirected_to :action => 'index', :project_id => 'ecookbook'
assert_equal 2, Issue.find(1).project_id assert_equal 2, Issue.find(1).project_id
end end
def test_bulk_move_to_another_project 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 post :move, :ids => [1, 2], :new_project_id => 2
assert_redirected_to :action => 'index', :project_id => 'ecookbook' assert_redirected_to :action => 'index', :project_id => 'ecookbook'
# Issues moved to project 2 # Issues moved to project 2
...@@ -924,7 +924,7 @@ class IssuesControllerTest < Test::Unit::TestCase ...@@ -924,7 +924,7 @@ class IssuesControllerTest < Test::Unit::TestCase
end end
def test_bulk_move_to_another_tracker 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 post :move, :ids => [1, 2], :new_tracker_id => 2
assert_redirected_to :action => 'index', :project_id => 'ecookbook' assert_redirected_to :action => 'index', :project_id => 'ecookbook'
assert_equal 2, Issue.find(1).tracker_id assert_equal 2, Issue.find(1).tracker_id
...@@ -932,7 +932,7 @@ class IssuesControllerTest < Test::Unit::TestCase ...@@ -932,7 +932,7 @@ class IssuesControllerTest < Test::Unit::TestCase
end end
def test_bulk_copy_to_another_project def test_bulk_copy_to_another_project
@request.session[:user_id] = 1 @request.session[:user_id] = 2
assert_difference 'Issue.count', 2 do assert_difference 'Issue.count', 2 do
assert_no_difference 'Project.find(1).issues.count' do assert_no_difference 'Project.find(1).issues.count' do
post :move, :ids => [1, 2], :new_project_id => 2, :copy_options => {:copy => '1'} post :move, :ids => [1, 2], :new_project_id => 2, :copy_options => {:copy => '1'}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment