You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

show.api.rsb 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. api.issue do
  2. api.id @issue.id
  3. api.project(:id => @issue.project_id, :name => @issue.project.name) unless @issue.project.nil?
  4. api.tracker(:id => @issue.tracker_id, :name => @issue.tracker.name) unless @issue.tracker.nil?
  5. api.status(:id => @issue.status_id, :name => @issue.status.name, :is_closed => @issue.status.is_closed) unless @issue.status.nil?
  6. api.priority(:id => @issue.priority_id, :name => @issue.priority.name) unless @issue.priority.nil?
  7. api.author(:id => @issue.author_id, :name => @issue.author.name) unless @issue.author.nil?
  8. api.assigned_to(:id => @issue.assigned_to_id, :name => @issue.assigned_to.name) unless @issue.assigned_to.nil?
  9. api.category(:id => @issue.category_id, :name => @issue.category.name) unless @issue.category.nil?
  10. api.fixed_version(:id => @issue.fixed_version_id, :name => @issue.fixed_version.name) unless @issue.fixed_version.nil?
  11. api.parent(:id => @issue.parent_id) unless @issue.parent.nil?
  12. api.subject @issue.subject
  13. api.description @issue.description
  14. api.start_date @issue.start_date
  15. api.due_date @issue.due_date
  16. api.done_ratio @issue.done_ratio
  17. api.is_private @issue.is_private
  18. api.estimated_hours @issue.estimated_hours
  19. api.total_estimated_hours @issue.total_estimated_hours
  20. if User.current.allowed_to?(:view_time_entries, @project)
  21. api.spent_hours(@issue.spent_hours)
  22. api.total_spent_hours(@issue.total_spent_hours)
  23. end
  24. render_api_custom_values @issue.visible_custom_field_values, api
  25. api.created_on @issue.created_on
  26. api.updated_on @issue.updated_on
  27. api.closed_on @issue.closed_on
  28. render_api_issue_children(@issue, api) if include_in_api_response?('children')
  29. api.array :attachments do
  30. @issue.attachments.each do |attachment|
  31. render_api_attachment(attachment, api)
  32. end
  33. end if include_in_api_response?('attachments')
  34. api.array :relations do
  35. @relations.each do |relation|
  36. api.relation(:id => relation.id, :issue_id => relation.issue_from_id, :issue_to_id => relation.issue_to_id, :relation_type => relation.relation_type, :delay => relation.delay)
  37. end
  38. end if include_in_api_response?('relations') && @relations.present?
  39. api.array :changesets do
  40. @changesets.each do |changeset|
  41. api.changeset :revision => changeset.revision do
  42. api.user(:id => changeset.user_id, :name => changeset.user.name) unless changeset.user.nil?
  43. api.comments changeset.comments
  44. api.committed_on changeset.committed_on
  45. end
  46. end
  47. end if include_in_api_response?('changesets')
  48. api.array :journals do
  49. @journals.each do |journal|
  50. api.journal :id => journal.id do
  51. api.user(:id => journal.user_id, :name => journal.user.name) unless journal.user.nil?
  52. api.notes journal.notes
  53. api.created_on journal.created_on
  54. api.updated_on journal.updated_on
  55. api.private_notes journal.private_notes
  56. api.array :details do
  57. journal.visible_details.each do |detail|
  58. api.detail :property => detail.property, :name => detail.prop_key do
  59. api.old_value detail.old_value
  60. api.new_value detail.value
  61. end
  62. end
  63. end
  64. end
  65. end
  66. end if include_in_api_response?('journals')
  67. api.array :watchers do
  68. @issue.watcher_users.each do |user|
  69. api.user :id => user.id, :name => user.name
  70. end
  71. end if include_in_api_response?('watchers') && User.current.allowed_to?(:view_issue_watchers, @issue.project)
  72. api.array :allowed_statuses do
  73. @allowed_statuses.each do |status|
  74. api.status :id => status.id, :name => status.name, :is_closed => status.is_closed
  75. end
  76. end if include_in_api_response?('allowed_statuses')
  77. end