Project

General

Profile

Defect #33744 ยป 0001-Allow-unassigning-an-issue-via-the-REST-API-with-a-n.patch

Go MAEDA, 2026-11-03 09:20

View differences:

app/models/issue.rb
631 631
         !attrs.key?('is_private') && safe_attribute?('is_private', user)
632 632
      attrs['is_private'] = '1'
633 633
    end
634
    if (u = attrs.delete('assigned_to_id')) && safe_attribute?('assigned_to_id')
635
      self.assigned_to_id = u
634
    if attrs.key?('assigned_to_id')
635
      assigned_to_id = attrs.delete('assigned_to_id')
636
      self.assigned_to_id = assigned_to_id if safe_attribute?('assigned_to_id')
636 637
    end
637 638
    attrs = delete_unsafe_attributes(attrs, user)
638 639
    return if attrs.empty?
test/integration/api_test/issues_test.rb
1107 1107
    assert_select 'errors error', :text => "Assignee is invalid"
1108 1108
  end
1109 1109

  
1110
  test "PUT /issues/:id.xml with empty assignee should unassign the issue" do
1111
    put(
1112
      '/issues/2.xml',
1113
      :params => '<issue><assigned_to_id/></issue>',
1114
      :headers => {'CONTENT_TYPE' => 'application/xml'}.merge(credentials('jsmith')))
1115
    assert_response :no_content
1116
    assert_nil Issue.find(2).assigned_to_id
1117
  end
1118

  
1119
  test "PUT /issues/:id.json with null assignee should unassign the issue" do
1120
    put(
1121
      '/issues/2.json',
1122
      :params => {:issue => {:assigned_to_id => nil}}.to_json,
1123
      :headers => {'CONTENT_TYPE' => 'application/json'}.merge(credentials('jsmith')))
1124
    assert_response :no_content
1125
    assert_nil Issue.find(2).assigned_to_id
1126
  end
1127

  
1110 1128
  test "PUT /issues/:id.json" do
1111 1129
    assert_difference('Journal.count') do
1112 1130
      put(
    (1-1/1)