Переглянути джерело

Add information about whether an issue is open or closed to Issues API response (#15855).

Patch by Takenori TAKAKI.


git-svn-id: http://svn.redmine.org/redmine/trunk@21225 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/5.0.0
Go MAEDA 2 роки тому
джерело
коміт
975e485afd

+ 1
- 1
app/views/issues/index.api.rsb Переглянути файл

@@ -4,7 +4,7 @@ api.array :issues, api_meta(:total_count => @issue_count, :offset => @offset, :l
api.id issue.id
api.project(:id => issue.project_id, :name => issue.project.name) unless issue.project.nil?
api.tracker(:id => issue.tracker_id, :name => issue.tracker.name) unless issue.tracker.nil?
api.status(:id => issue.status_id, :name => issue.status.name) unless issue.status.nil?
api.status(:id => issue.status_id, :name => issue.status.name, :is_closed => issue.status.is_closed) unless issue.status.nil?
api.priority(:id => issue.priority_id, :name => issue.priority.name) unless issue.priority.nil?
api.author(:id => issue.author_id, :name => issue.author.name) unless issue.author.nil?
api.assigned_to(:id => issue.assigned_to_id, :name => issue.assigned_to.name) unless issue.assigned_to.nil?

+ 2
- 2
app/views/issues/show.api.rsb Переглянути файл

@@ -2,7 +2,7 @@ api.issue do
api.id @issue.id
api.project(:id => @issue.project_id, :name => @issue.project.name) unless @issue.project.nil?
api.tracker(:id => @issue.tracker_id, :name => @issue.tracker.name) unless @issue.tracker.nil?
api.status(:id => @issue.status_id, :name => @issue.status.name) unless @issue.status.nil?
api.status(:id => @issue.status_id, :name => @issue.status.name, :is_closed => @issue.status.is_closed) unless @issue.status.nil?
api.priority(:id => @issue.priority_id, :name => @issue.priority.name) unless @issue.priority.nil?
api.author(:id => @issue.author_id, :name => @issue.author.name) unless @issue.author.nil?
api.assigned_to(:id => @issue.assigned_to_id, :name => @issue.assigned_to.name) unless @issue.assigned_to.nil?
@@ -80,7 +80,7 @@ api.issue do

api.array :allowed_statuses do
@allowed_statuses.each do |status|
api.status :id => status.id, :name => status.name
api.status :id => status.id, :name => status.name, :is_closed => status.is_closed
end
end if include_in_api_response?('allowed_statuses')
end

+ 14
- 2
test/integration/api_test/issues_test.rb Переглянути файл

@@ -141,6 +141,16 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base
assert_select 'issues>issue>is_private', :text => 'false'
end

def test_index_should_include_issue_status_is_closed_false
get '/issues.xml'
assert_select 'issues>issue>status[is_closed=false]'
end

def test_index_should_include_issue_status_is_closed_true
get '/issues.xml?status_id=5'
assert_select 'issues>issue>status[is_closed=true]'
end

def test_index_should_include_spent_hours
Issue.delete_all
parent = Issue.generate!(:estimated_hours => 2.0)
@@ -391,6 +401,7 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base
def test_show_should_include_issue_attributes
get '/issues/1.xml'
assert_select 'issue>is_private', :text => 'false'
assert_select 'issue>status[is_closed=false]'
end

test "GET /issues/:id.xml?include=watchers should include watchers" do
@@ -433,13 +444,14 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base
assert_response :ok
assert_equal 'application/xml', response.media_type

allowed_statuses = [[1, 'New'], [2, 'Assigned'], [4, 'Feedback'], [5, 'Closed'], [6, 'Rejected']]
allowed_statuses = [[1, 'New', 'false'], [2, 'Assigned', 'false'], [4, 'Feedback', 'false'], [5, 'Closed', 'true'], [6, 'Rejected', 'true']]
assert_select 'issue allowed_statuses[type=array]' do
assert_select 'status', allowed_statuses.length
assert_select('status').each_with_index do |status, idx|
id, name, = allowed_statuses[idx]
id, name, is_closed = allowed_statuses[idx]
assert_equal id.to_s, status['id']
assert_equal name, status['name']
assert_equal is_closed, status['is_closed']
end
end
end

Завантаження…
Відмінити
Зберегти