summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2009-05-14 18:18:29 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2009-05-14 18:18:29 +0000
commitf7d7186c133d9ab00742641105e5fbc213df5dd6 (patch)
treeb525de5f09a1bbede73b1426dd1460ef2341285e
parente9a6730f4ad73c58b3894d7d3da67720c75255c9 (diff)
downloadredmine-f7d7186c133d9ab00742641105e5fbc213df5dd6.tar.gz
redmine-f7d7186c133d9ab00742641105e5fbc213df5dd6.zip
Fixed: issue status bulk edit broken by r2726 (#3347).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2744 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/issues_controller.rb2
-rw-r--r--test/functional/issues_controller_test.rb12
2 files changed, 13 insertions, 1 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 06a654b24..e49a3ecb7 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -256,7 +256,7 @@ class IssuesController < ApplicationController
issue.custom_field_values = custom_field_values if custom_field_values && !custom_field_values.empty?
call_hook(:controller_issues_bulk_edit_before_save, { :params => params, :issue => issue })
# Don't save any change to the issue if the user is not authorized to apply the requested status
- unless (status.nil? || (issue.status.new_status_allowed_to?(status, current_role, issue.tracker) && issue.status = status)) && issue.save
+ unless (status.nil? || (issue.new_statuses_allowed_to(User.current).include?(status) && issue.status = status)) && issue.save
# Keep unsaved issue ids to display them in flash error
unsaved_issue_ids << issue.id
end
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index f47e384a5..ff132669d 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -873,6 +873,18 @@ class IssuesControllerTest < Test::Unit::TestCase
assert_equal 2, ActionMailer::Base.deliveries.size
end
+ def test_bulk_edit_status
+ @request.session[:user_id] = 2
+ # update issues priority
+ post :bulk_edit, :ids => [1, 2], :priority_id => '',
+ :assigned_to_id => '',
+ :status_id => '5',
+ :notes => 'Bulk editing status'
+ assert_response 302
+ issue = Issue.find(1)
+ assert issue.closed?
+ end
+
def test_bulk_edit_custom_field
@request.session[:user_id] = 2
# update issues priority