Only show statuses that can be applied to all issues on the bulk edit form (#10181).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8844 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
004968caf3
commit
2ec55c5337
@ -229,7 +229,7 @@ class IssuesController < ApplicationController
|
|||||||
end
|
end
|
||||||
target_projects ||= @projects
|
target_projects ||= @projects
|
||||||
|
|
||||||
@available_statuses = target_projects.map{|p|Workflow.available_statuses(p)}.reduce(:&)
|
@available_statuses = @issues.map(&:new_statuses_allowed_to).reduce(:&)
|
||||||
@custom_fields = target_projects.map{|p|p.all_issue_custom_fields}.reduce(:&)
|
@custom_fields = target_projects.map{|p|p.all_issue_custom_fields}.reduce(:&)
|
||||||
@assignables = target_projects.map(&:assignable_users).reduce(:&)
|
@assignables = target_projects.map(&:assignable_users).reduce(:&)
|
||||||
@trackers = target_projects.map(&:trackers).reduce(:&)
|
@trackers = target_projects.map(&:trackers).reduce(:&)
|
||||||
|
@ -2523,6 +2523,26 @@ class IssuesControllerTest < ActionController::TestCase
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_bulk_edit_should_only_propose_statuses_allowed_for_all_issues
|
||||||
|
Workflow.delete_all
|
||||||
|
Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 1)
|
||||||
|
Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 3)
|
||||||
|
Workflow.create!(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 4)
|
||||||
|
Workflow.create!(:role_id => 1, :tracker_id => 2, :old_status_id => 2, :new_status_id => 1)
|
||||||
|
Workflow.create!(:role_id => 1, :tracker_id => 2, :old_status_id => 2, :new_status_id => 3)
|
||||||
|
Workflow.create!(:role_id => 1, :tracker_id => 2, :old_status_id => 2, :new_status_id => 5)
|
||||||
|
@request.session[:user_id] = 2
|
||||||
|
get :bulk_edit, :ids => [1, 2]
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
statuses = assigns(:available_statuses)
|
||||||
|
assert_not_nil statuses
|
||||||
|
assert_equal [1, 3], statuses.map(&:id).sort
|
||||||
|
|
||||||
|
assert_tag 'select', :attributes => {:name => 'issue[status_id]'},
|
||||||
|
:children => {:count => 3} # 2 statuses + "no change" option
|
||||||
|
end
|
||||||
|
|
||||||
def test_bulk_update
|
def test_bulk_update
|
||||||
@request.session[:user_id] = 2
|
@request.session[:user_id] = 2
|
||||||
# update issues priority
|
# update issues priority
|
||||||
|
Loading…
x
Reference in New Issue
Block a user