From edc00d28a7cd0da0de8381429c01ce5a61f1a7d5 Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 22 Feb 2023 16:25:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E6=A0=87=E8=AE=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=BF=94=E5=9B=9E=E5=90=88=E5=B9=B6=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/v1/issues/issue_tags_controller.rb | 2 +- app/models/issue_tag.rb | 2 ++ app/views/api/v1/issues/index.json.jbuilder | 2 +- app/views/api/v1/issues/issue_tags/_detail.json.jbuilder | 4 +++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/v1/issues/issue_tags_controller.rb b/app/controllers/api/v1/issues/issue_tags_controller.rb index 077ac1474..2a5038e63 100644 --- a/app/controllers/api/v1/issues/issue_tags_controller.rb +++ b/app/controllers/api/v1/issues/issue_tags_controller.rb @@ -9,7 +9,7 @@ class Api::V1::Issues::IssueTagsController < Api::V1::BaseController if params[:only_name] @issue_tags = kaminary_select_paginate(@issue_tags.select(:id, :name, :color)) else - @issue_tags = kaminari_paginate(@issue_tags.includes(:project, :user)) + @issue_tags = kaminari_paginate(@issue_tags.includes(:project, :user, :issue_issues, :pull_request_issues)) end end diff --git a/app/models/issue_tag.rb b/app/models/issue_tag.rb index 787b72bca..5381da9be 100644 --- a/app/models/issue_tag.rb +++ b/app/models/issue_tag.rb @@ -23,6 +23,8 @@ class IssueTag < ApplicationRecord has_many :issue_tags_relates, dependent: :destroy has_many :issues, through: :issue_tags_relates + has_many :issue_issues, -> {where(issue_classify: [nil,"issue"])}, source: :issue, through: :issue_tags_relates + has_many :pull_request_issues, -> {where(issue_classify: "pull_request")}, source: :issue, through: :issue_tags_relates belongs_to :project, optional: true, counter_cache: true belongs_to :user, optional: true diff --git a/app/views/api/v1/issues/index.json.jbuilder b/app/views/api/v1/issues/index.json.jbuilder index 50165b60b..8d9861f24 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_issues_count @opened_issues_count +json.total_issues_count @total_issues_count json.opened_count @opened_issues_count json.closed_count @closed_issues_count json.total_count @issues.total_count diff --git a/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder b/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder index 332e47373..43daf1a4a 100644 --- a/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder +++ b/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder @@ -1,4 +1,6 @@ -json.(tag,:id, :name, :description, :color, :issues_count) +json.(tag,:id, :name, :description, :color) +json.issues_count tag.issue_issues.size +json.pull_requests_count tag.pull_request_issues.size json.project do if tag.project.present? json.partial! "api/v1/projects/simple_detail", project: tag.project