Unable to retrieve custom fields set as "For all projects" via Projects API (#38668).

Patch by Hirokazu Onozato.


git-svn-id: https://svn.redmine.org/redmine/trunk@22270 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2023-06-30 09:20:09 +00:00
parent 945a82b5c0
commit 66f16ff348
2 changed files with 6 additions and 1 deletions

View File

@@ -167,7 +167,7 @@ module ProjectsHelper
end if include_in_api_response?('enabled_modules') end if include_in_api_response?('enabled_modules')
api.array :issue_custom_fields do api.array :issue_custom_fields do
project.issue_custom_fields.each do |custom_field| project.all_issue_custom_fields.each do |custom_field|
api.custom_field(:id => custom_field.id, :name => custom_field.name) api.custom_field(:id => custom_field.id, :name => custom_field.name)
end end
end if include_in_api_response?('issue_custom_fields') end if include_in_api_response?('issue_custom_fields')

View File

@@ -86,11 +86,16 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
end end
test "GET /projects.xml with include=issue_custom_fields should return custom fields" do test "GET /projects.xml with include=issue_custom_fields should return custom fields" do
IssueCustomField.find(6).update_attribute :is_for_all, true
IssueCustomField.find(8).update_attribute :is_for_all, false
get '/projects.xml?include=issue_custom_fields' get '/projects.xml?include=issue_custom_fields'
assert_response :success assert_response :success
assert_equal 'application/xml', @response.media_type assert_equal 'application/xml', @response.media_type
assert_select 'issue_custom_fields[type=array] custom_field[name="Project 1 cf"]' assert_select 'issue_custom_fields[type=array] custom_field[name="Project 1 cf"]'
# Custom field for all projects
assert_select 'issue_custom_fields[type=array] custom_field[id="6"]'
assert_select 'issue_custom_fields[type=array] custom_field[id="8"]', 0
end end
test "GET /projects/:id.xml should return the project" do test "GET /projects/:id.xml should return the project" do