mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-07-14 22:24:36 +08:00
更改:部分细节问题
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user