更改:部分细节问题

This commit is contained in:
yystopf 2023-02-22 15:56:44 +08:00
parent a07da79e89
commit c781ca0da1
6 changed files with 26 additions and 22 deletions

View File

@ -60,7 +60,7 @@ class Api::V1::Issues::MilestonesController < Api::V1::BaseController
end
def query_params
params.permit(:category, :author_id, :assigner_id, :sort_by, :sort_direction, :issue_tag_ids => [])
params.permit(:category, :author_id, :assigner_id, :sort_by, :sort_direction, :issue_tag_ids)
end
def load_milestone

View File

@ -91,7 +91,7 @@ class Api::V1::IssuesController < Api::V1::BaseController
:milestone_id, :assigner_id,
:status_id,
:sort_by, :sort_direction,
:issue_tag_ids => [])
:issue_tag_ids)
end
def issue_params

View File

@ -34,7 +34,7 @@ class IssueTag < ApplicationRecord
["支持", "表示特定功能或特定需求", "#019549"],
["任务", "表示需要分配的任务", "#01a30d"],
["协助", "表示需要社区用户协助", "#2a0dc1"],
["搁置", "表示此问题不会继续处理", "#892794"],
["搁置", "表示此问题暂时不会继续处理", "#892794"],
["文档", "表示文档材料补充", "#9ed600"],
["测试", "表示需要测试的需求", "#2897b9"],
["重复", "表示已存在类似的疑修", "#bb5332"]

View File

@ -17,7 +17,7 @@ class Api::V1::Issues::ListService < ApplicationService
@participant_category = params[:participant_category] || 'all'
@keyword = params[:keyword]
@author_id = params[:author_id]
@issue_tag_ids = params[:issue_tag_ids]
@issue_tag_ids = params[:issue_tag_ids].split(",")
@milestone_id = params[:milestone_id]
@assigner_id = params[:assigner_id]
@status_id = params[:status_id]
@ -52,17 +52,6 @@ class Api::V1::Issues::ListService < ApplicationService
issues = issues.joins(:participants, :issue_participants).where(issue_participants: {participant_type: 'atme'},users: {id: current_user&.id})
end
@total_issues_count = issues.size
@closed_issues_count = issues.closed.size
@opened_issues_count = issues.opened.size
case category
when 'closed'
issues = issues.closed
when 'opened'
issues = issues.opened
end
# author_id
issues = issues.where(author_id: author_id) if author_id.present?
@ -79,9 +68,20 @@ class Api::V1::Issues::ListService < ApplicationService
issues = issues.where(status_id: status_id) if status_id.present?
# keyword
q = issues.ransack(subject_or_description_cont: keyword)
issues = issues.ransack(subject_or_description_cont: keyword).result
scope = q.result.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals)
@total_issues_count = issues.size
@closed_issues_count = issues.closed.size
@opened_issues_count = issues.opened.size
case category
when 'closed'
issues = issues.closed
when 'opened'
issues = issues.opened
end
scope = issues.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals)
scope = scope.reorder("#{sort_by} #{sort_direction}").distinct

View File

@ -5,7 +5,7 @@ class Api::V1::Issues::Milestones::DetailIssuesService < ApplicationService
attr_accessor :queried_issues
validates :category, inclusion: {in: %w(all opened closed), message: "请输入正确的Category"}
validates :sort_by, inclusion: {in: Issue.column_names, message: '请输入正确的SortBy'}, allow_blank: true
validates :sort_by, inclusion: {in: ['issues.created_on', 'issues.updated_on', 'issue_priorities.position'], message: '请输入正确的SortBy'}, allow_blank: true
validates :sort_direction, inclusion: {in: %w(asc desc), message: '请输入正确的SortDirection'}, allow_blank: true
validates :current_user, presence: true
@ -15,7 +15,7 @@ class Api::V1::Issues::Milestones::DetailIssuesService < ApplicationService
@category = params[:category] || 'all'
@author_id = params[:author_id]
@assigner_id = params[:assigner_id]
@issue_tag_ids = params[:issue_tag_ids]
@issue_tag_ids = params[:issue_tag_ids].present? ? params[:issue_tag_ids].split(",") : []
@sort_by = params[:sort_by].present? ? params[:sort_by] : 'updated_on'
@sort_direction = (params[:sort_direction].present? ? params[:sort_direction] : 'desc').downcase
@current_user = current_user
@ -47,11 +47,13 @@ class Api::V1::Issues::Milestones::DetailIssuesService < ApplicationService
issues = issues.where(author_id: author_id) if author_id.present?
# assigner_id
issues = issues.joins(:assigners).where(users: {id: assigner_id}).or(issues.where(assigned_to_id: assigner_id)) if assigner_id.present?
issues = issues.joins(:assigners).where(users: {id: assigner_id}).or(issues.joins(:assigners).where(assigned_to_id: assigner_id)) if assigner_id.present?
scope = issues.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals)
issues = issues.joins(:issue_tags).where(issue_tags: {id: issue_tag_ids}) if issue_tag_ids.present?
scope = scope.reorder("issues.#{sort_by} #{sort_direction}").distinct
scope = issues.includes(:priority, :issue_status, :user, :assigners, :version, :issue_tags, :comment_journals).references(:assigners)
scope = scope.reorder("#{sort_by} #{sort_direction}").distinct
@queried_issues = scope
end

View File

@ -10,6 +10,8 @@ json.user do
end
end
if journal.is_journal_detail?
detail = journal.journal_details.take
json.operate_category detail.property == "attr" ? detail.prop_key : detail.property
json.operate_content journal.is_journal_detail? ? journal.operate_content : nil
else
json.notes journal.notes