summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/issues_controller.rb2
-rw-r--r--test/functional/issues_controller_test.rb10
2 files changed, 11 insertions, 1 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 0ff8ded82..32c4d1f77 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -426,7 +426,7 @@ class IssuesController < ApplicationController
@issue.safe_attributes = params[:issue]
@priorities = IssuePriority.active
- @allowed_statuses = @issue.new_statuses_allowed_to(User.current, true)
+ @allowed_statuses = @issue.new_statuses_allowed_to(User.current, @issue.new_record?)
@available_watchers = (@issue.project.users.sort + @issue.watcher_users).uniq
end
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index 34c99a568..d9c1e40da 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -2728,6 +2728,16 @@ class IssuesControllerTest < ActionController::TestCase
assert_equal 'This is the test_new issue', issue.subject
end
+ def test_update_form_should_propose_default_status_for_existing_issue
+ @request.session[:user_id] = 2
+ WorkflowTransition.delete_all
+ WorkflowTransition.create!(:role_id => 1, :tracker_id => 2, :old_status_id => 2, :new_status_id => 3)
+
+ xhr :put, :update_form, :project_id => 1, :id => 2
+ assert_response :success
+ assert_equal [2,3], assigns(:allowed_statuses).map(&:id).sort
+ end
+
def test_put_update_without_custom_fields_param
@request.session[:user_id] = 2
ActionMailer::Base.deliveries.clear