diff --git a/app/controllers/api/v1/issues/issue_priorities_controller.rb b/app/controllers/api/v1/issues/issue_priorities_controller.rb index 319994a28..eb36a47ce 100644 --- a/app/controllers/api/v1/issues/issue_priorities_controller.rb +++ b/app/controllers/api/v1/issues/issue_priorities_controller.rb @@ -3,7 +3,7 @@ class Api::V1::Issues::IssuePrioritiesController < Api::V1::BaseController before_action :require_public_and_member_above, only: [:index] def index - @priorities = IssuePriority.order(position: :asc) + @priorities = IssuePriority.where.not(name: '立刻').order(position: :asc) @priorities = @priorities.ransack(name_cont: params[:keyword]).result if params[:keyword] @priorities = kaminary_select_paginate(@priorities) end diff --git a/app/controllers/api/v1/issues/statues_controller.rb b/app/controllers/api/v1/issues/statues_controller.rb index 5a7fbc338..bcb54bab9 100644 --- a/app/controllers/api/v1/issues/statues_controller.rb +++ b/app/controllers/api/v1/issues/statues_controller.rb @@ -4,7 +4,7 @@ class Api::V1::Issues::StatuesController < Api::V1::BaseController # 状态列表 def index - @statues = IssueStatus.order("position asc") + @statues = IssueStatus.where.not(name: '反馈').order("position asc") @statues = @statues.ransack(name_cont: params[:keyword]).result if params[:keyword].present? @statues = kaminary_select_paginate(@statues) end diff --git a/app/services/api/v1/issues/list_service.rb b/app/services/api/v1/issues/list_service.rb index 5183fbdb9..be1ca33fe 100644 --- a/app/services/api/v1/issues/list_service.rb +++ b/app/services/api/v1/issues/list_service.rb @@ -36,7 +36,7 @@ class Api::V1::Issues::ListService < ApplicationService @current_user = current_user end - def call + def call raise Error, errors.full_messages.join(', ') unless valid? # begin issue_query_data @@ -72,7 +72,7 @@ class Api::V1::Issues::ListService < ApplicationService # issue_tag_ids issues = issues.ransack(issue_tags_value_cont: issue_tag_ids.sort!.join(',')).result unless issue_tag_ids.blank? - + # milestone_id issues = issues.where(fixed_version_id: milestone_id) if milestone_id.present? @@ -112,7 +112,7 @@ class Api::V1::Issues::ListService < ApplicationService issues = issues.ransack(id_or_project_issues_index_eq: keyword).result.or(issues.ransack(subject_or_description_cont: keyword).result) if keyword.present? @total_issues_count = issues.distinct.size - @closed_issues_count = issues.closed.distinct.size + @closed_issues_count = issues.closed.distinct.size @opened_issues_count = issues.opened.distinct.size @complete_issues_count = issues.closed.distinct.size + issues.where(status_id: 3).distinct.size - issues.where(pm_issue_type: 3, status_id: 3).size @@ -122,13 +122,16 @@ class Api::V1::Issues::ListService < ApplicationService when 'opened' issues = issues.opened end - if only_name.present? scope = issues.select(:id, :subject, :project_issues_index, :updated_on, :created_on) scope = scope.reorder("#{sort_by} #{sort_direction}").distinct - else + else scope = issues.includes(:priority, :issue_status, :user, :show_assigners, :show_issue_tags, :version, :comment_journals) - scope = scope.reorder("#{sort_by} #{sort_direction}").distinct + scope = if sort_by == 'issue_priorities.position' + scope.reorder("issue_priorities.position #{sort_direction}, issues.created_on DESC").distinct + else + scope.reorder("#{sort_by} #{sort_direction}").distinct + end end @queried_issues = scope