diff --git a/app/models/issue.rb b/app/models/issue.rb index 11375f4b9..03e33c666 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -72,6 +72,7 @@ class Issue < ApplicationRecord has_many :assigners, through: :issue_assigners has_many :issue_participants has_many :participants, through: :issue_participants + has_many :comment_journals, -> {where.not(notes: nil)}, class_name: "Journal", :as => :journalized scope :issue_includes, ->{includes(:user)} scope :issue_many_includes, ->{includes(journals: :user)} diff --git a/app/services/api/v1/issues/list_service.rb b/app/services/api/v1/issues/list_service.rb index 1a7378598..39ff2eca8 100644 --- a/app/services/api/v1/issues/list_service.rb +++ b/app/services/api/v1/issues/list_service.rb @@ -38,7 +38,7 @@ class Api::V1::Issues::ListService < ApplicationService private def issue_query_data - issues = @project.issues.issue_issue.joins(:journals).where.not(journals: {notes: nil}) + issues = @project.issues.issue_issue case category when 'closed' @@ -76,10 +76,10 @@ class Api::V1::Issues::ListService < ApplicationService # keyword q = issues.ransack(subject_or_description_cont: keyword) - scope = q.result.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :journals) + scope = q.result.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals) - scope = scope.reorder("issues.#{sort_by} #{sort_direction}") + scope = scope.reorder("issues.#{sort_by} #{sort_direction}").distinct @queried_issues = scope end diff --git a/app/views/api/v1/issues/_simple_detail.json.jbuilder b/app/views/api/v1/issues/_simple_detail.json.jbuilder index 395086d59..da1bdfcb1 100644 --- a/app/views/api/v1/issues/_simple_detail.json.jbuilder +++ b/app/views/api/v1/issues/_simple_detail.json.jbuilder @@ -17,4 +17,4 @@ end json.assigners issue.assigners.each do |assigner| json.partial! "api/v1/users/simple_user", locals: {user: assigner} end -json.journals_count issue.journals.size \ No newline at end of file +json.journals_count issue.comment_journals.size \ No newline at end of file diff --git a/app/views/api/v1/issues/index.json.jbuilder b/app/views/api/v1/issues/index.json.jbuilder index e0d6ae7bd..920e7d68d 100644 --- a/app/views/api/v1/issues/index.json.jbuilder +++ b/app/views/api/v1/issues/index.json.jbuilder @@ -1,4 +1,4 @@ -# json.total_count @issues.total_count +json.total_count @issues.total_count json.issues @issues.each do |issue| json.partial! "simple_detail", locals: {issue: issue} end \ No newline at end of file