##// END OF EJS Templates
Fixed that creating an issue without tracker_id attribute ignores custom field values (#19368)....
Jean-Philippe Lang -
r13701:5e1d042c40ac
parent child
Show More
@@ -447,6 +447,11 class Issue < ActiveRecord::Base
447 if (t = attrs.delete('tracker_id')) && safe_attribute?('tracker_id')
447 if (t = attrs.delete('tracker_id')) && safe_attribute?('tracker_id')
448 self.tracker_id = t
448 self.tracker_id = t
449 end
449 end
450 if project
451 # Set the default tracker to accept custom field values
452 # even if tracker is not specified
453 self.tracker ||= project.trackers.first
454 end
450
455
451 if (s = attrs.delete('status_id')) && safe_attribute?('status_id')
456 if (s = attrs.delete('status_id')) && safe_attribute?('status_id')
452 if new_statuses_allowed_to(user).collect(&:id).include?(s.to_i)
457 if new_statuses_allowed_to(user).collect(&:id).include?(s.to_i)
@@ -406,6 +406,35 JSON
406 assert_equal 'API test', issue.subject
406 assert_equal 'API test', issue.subject
407 end
407 end
408
408
409 test "POST /issues.json without tracker_id should accept custom fields" do
410 field = IssueCustomField.generate!(
411 :field_format => 'list',
412 :multiple => true,
413 :possible_values => ["V1", "V2", "V3"],
414 :default_value => "V2",
415 :is_for_all => true,
416 :trackers => Tracker.all.to_a
417 )
418
419 payload = <<-JSON
420 {
421 "issue": {
422 "project_id": "1",
423 "subject": "Multivalued custom field",
424 "custom_field_values":{"#{field.id}":["V1","V3"]}
425 }
426 }
427 JSON
428
429 assert_difference('Issue.count') do
430 post '/issues.json', payload, {"CONTENT_TYPE" => 'application/json'}.merge(credentials('jsmith'))
431 end
432
433 assert_response :created
434 issue = Issue.order('id DESC').first
435 assert_equal ["V1", "V3"], issue.custom_field_value(field)
436 end
437
409 test "POST /issues.json with failure should return errors" do
438 test "POST /issues.json with failure should return errors" do
410 assert_no_difference('Issue.count') do
439 assert_no_difference('Issue.count') do
411 post '/issues.json', {:issue => {:project_id => 1}}, credentials('jsmith')
440 post '/issues.json', {:issue => {:project_id => 1}}, credentials('jsmith')
General Comments 0
You need to be logged in to leave comments. Login now