新增:里程碑相关数量返回

This commit is contained in:
yystopf 2023-02-21 13:55:40 +08:00
parent 02526878fe
commit b18051ec31
3 changed files with 18 additions and 5 deletions

View File

@ -5,14 +5,16 @@ class Api::V1::Issues::MilestonesController < Api::V1::BaseController
# 里程碑列表
def index
@milestones = @project.versions
@milestones = @milestones.ransack(name_or_description_cont: params[:keyword]).result if params[:keyword].present?
@closed_milestone_count = @milestones.closed.size
@opening_milestone_count = @milestones.opening.size
@milestones = params[:category] == "closed" ? @milestones.closed : @milestones.opening
if params[:only_name]
@milestones = @project.versions.select(:id, :name)
@milestones = @milestones.ransack(name_or_description_cont: params[:keyword]).result if params[:keyword].present?
@milestones = @milestones.select(:id, :name)
@milestones = kaminary_select_paginate(@milestones)
else
@milestones = @project.versions.includes(:issues, :closed_issues, :opened_issues)
@milestones = params[:category] == "closed" ? @milestones.closed : @milestones.opening
@milestones = @milestones.ransack(name_or_description_cont: params[:keyword]).result if params[:keyword].present?
@milestones = @milestones.includes(:issues, :closed_issues, :opened_issues)
@milestones = kaminari_paginate(@milestones)
end
end
@ -65,4 +67,12 @@ class Api::V1::Issues::MilestonesController < Api::V1::BaseController
return render_not_found('里程碑不存在!') unless @milestone.present?
end
def sort_by
Version.columns.include?(params.fetch(:sort_by, "created_on")) ? params.fetch(:sort_by, "created_on") : "created_on"
end
def sort_direction
%w(desc asc).include?(params.fetch(:sort_direction, "updated_on")) ? params.fetch(:sort_direction, "updated_on") : "updated_on"
end
end

View File

@ -1,5 +1,6 @@
json.(milestone, :id, :name, :description, :effective_date, :status)
json.issues_count milestone.opened_issues.size + milestone.closed_issues.size
json.opened_issues_count milestone.opened_issues.size
json.close_issues_count milestone.closed_issues.size
json.percent milestone.issue_percent
json.created_at milestone.created_on.strftime("%Y-%m-%d %H:%M")

View File

@ -1,3 +1,5 @@
json.closed_milestone_count @closed_milestone_count
json.opening_milestone_count @opening_milestone_count
json.total_count @milestones.total_count
json.milestones @milestones.each do |milestone|
if params[:only_name]