]> source.dussan.org Git - redmine.git/commitdiff
Fixed that update_form always proposes the default status when updating an existing...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 15 Nov 2013 19:59:19 +0000 (19:59 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 15 Nov 2013 19:59:19 +0000 (19:59 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@12277 e93f8b46-1217-0410-a6f0-8f06a7374b81

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

index 0ff8ded827000aac224723772d701ee26b697eaa..32c4d1f77d721cb7c2956ca92a3c7edff040e4ca 100644 (file)
@@ -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
 
index 34c99a5686c57170d5161852005f9bec5f95b1df..d9c1e40da728b788931e69b19d1296570a29ff90 100644 (file)
@@ -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