add issues.start_date and issues.due_date to issue_list service
This commit is contained in:
parent
7fb462d2db
commit
ed5bf51821
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
# Ignore lock config file
|
# Ignore lock config file
|
||||||
*.log
|
*.log
|
||||||
|
.rubocop.yml
|
||||||
# mac
|
# mac
|
||||||
*.DS_Store
|
*.DS_Store
|
||||||
.bashrc
|
.bashrc
|
||||||
|
|
|
@ -7,20 +7,20 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
attr_reader :pm_project_id, :pm_sprint_id, :root_id, :pm_issue_type
|
attr_reader :pm_project_id, :pm_sprint_id, :root_id, :pm_issue_type
|
||||||
attr_accessor :queried_issues, :total_issues_count, :closed_issues_count, :opened_issues_count
|
attr_accessor :queried_issues, :total_issues_count, :closed_issues_count, :opened_issues_count
|
||||||
|
|
||||||
validates :category, inclusion: {in: %w(all opened closed), message: "请输入正确的Category"}
|
validates :category, inclusion: { in: %w[all opened closed], message: '请输入正确的Category'}
|
||||||
validates :participant_category, inclusion: {in: %w(all aboutme authoredme assignedme atme), message: "请输入正确的ParticipantCategory"}
|
validates :participant_category, inclusion: { in: %w[all aboutme authoredme assignedme atme], message: '请输入正确的ParticipantCategory'}
|
||||||
validates :sort_by, inclusion: {in: ['issues.created_on', 'issues.updated_on', 'issues.blockchain_token_num', 'issue_priorities.position'], message: '请输入正确的SortBy'}, allow_blank: true
|
validates :sort_by, inclusion: { in: %w[issues.created_on issues.updated_on issues.blockchain_token_num issue_priorities.position issues.start_date issues.due_date] , message: '请输入正确的SortBy'}, allow_blank: true
|
||||||
validates :sort_direction, inclusion: {in: %w(asc desc), message: '请输入正确的SortDirection'}, allow_blank: true
|
validates :sort_direction, inclusion: { in: %w[asc desc], message: '请输入正确的SortDirection'}, allow_blank: true
|
||||||
validates :current_user, presence: true
|
validates :current_user, presence: true
|
||||||
|
|
||||||
def initialize(project, params, current_user=nil)
|
def initialize(project, params, current_user = nil)
|
||||||
@project = project
|
@project = project
|
||||||
@only_name = params[:only_name]
|
@only_name = params[:only_name]
|
||||||
@category = params[:category] || 'all'
|
@category = params[:category] || 'all'
|
||||||
@participant_category = params[:participant_category] || 'all'
|
@participant_category = params[:participant_category] || 'all'
|
||||||
@keyword = params[:keyword]
|
@keyword = params[:keyword]
|
||||||
@author_id = params[:author_id]
|
@author_id = params[:author_id]
|
||||||
@issue_tag_ids = params[:issue_tag_ids].present? ? params[:issue_tag_ids].split(",") : []
|
@issue_tag_ids = params[:issue_tag_ids].present? ? params[:issue_tag_ids].split(',') : []
|
||||||
@milestone_id = params[:milestone_id]
|
@milestone_id = params[:milestone_id]
|
||||||
@assigner_id = params[:assigner_id]
|
@assigner_id = params[:assigner_id]
|
||||||
@status_id = params[:status_id]
|
@status_id = params[:status_id]
|
||||||
|
@ -35,12 +35,12 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
@current_user = current_user
|
@current_user = current_user
|
||||||
end
|
end
|
||||||
|
|
||||||
def call
|
def call
|
||||||
raise Error, errors.full_messages.join(", ") unless valid?
|
raise Error, errors.full_messages.join(', ') unless valid?
|
||||||
# begin
|
# begin
|
||||||
issue_query_data
|
issue_query_data
|
||||||
|
|
||||||
return {data: queried_issues, total_issues_count: @total_issues_count, closed_issues_count: @closed_issues_count, opened_issues_count: @opened_issues_count}
|
{data: queried_issues, total_issues_count: @total_issues_count, closed_issues_count: @closed_issues_count, opened_issues_count: @opened_issues_count}
|
||||||
# rescue
|
# rescue
|
||||||
# raise Error, "服务器错误,请联系系统管理员!"
|
# raise Error, "服务器错误,请联系系统管理员!"
|
||||||
# end
|
# end
|
||||||
|
@ -52,7 +52,7 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
|
|
||||||
case participant_category
|
case participant_category
|
||||||
when 'aboutme' # 关于我的
|
when 'aboutme' # 关于我的
|
||||||
issues = issues.joins(:issue_participants).where(issue_participants: {participant_type: %w(authored assigned atme), participant_id: current_user&.id})
|
issues = issues.joins(:issue_participants).where(issue_participants: {participant_type: %w[authored assigned atme], participant_id: current_user&.id})
|
||||||
when 'authoredme' # 我创建的
|
when 'authoredme' # 我创建的
|
||||||
issues = issues.joins(:issue_participants).where(issue_participants: {participant_type: 'authored', participant_id: current_user&.id})
|
issues = issues.joins(:issue_participants).where(issue_participants: {participant_type: 'authored', participant_id: current_user&.id})
|
||||||
when 'assignedme' # 我负责的
|
when 'assignedme' # 我负责的
|
||||||
|
@ -64,7 +64,7 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
issues = issues.where(author_id: author_id) if author_id.present?
|
issues = issues.where(author_id: author_id) if author_id.present?
|
||||||
|
|
||||||
# issue_tag_ids
|
# issue_tag_ids
|
||||||
issues = issues.ransack(issue_tags_value_cont: issue_tag_ids.sort!.join(",")).result unless issue_tag_ids.blank?
|
issues = issues.ransack(issue_tags_value_cont: issue_tag_ids.sort!.join(',')).result unless issue_tag_ids.blank?
|
||||||
|
|
||||||
# milestone_id
|
# milestone_id
|
||||||
issues = issues.where(fixed_version_id: milestone_id) if milestone_id.present?
|
issues = issues.where(fixed_version_id: milestone_id) if milestone_id.present?
|
||||||
|
@ -91,7 +91,7 @@ class Api::V1::Issues::ListService < ApplicationService
|
||||||
issues = issues.where(status_id: status_id) if status_id.present? && category != 'closed'
|
issues = issues.where(status_id: status_id) if status_id.present? && category != 'closed'
|
||||||
|
|
||||||
if begin_date&.present? || end_date&.present?
|
if begin_date&.present? || end_date&.present?
|
||||||
issues = issues.where("issues.created_on between ? and ?", begin_date&.present? ? begin_date.to_time : Time.now.beginning_of_day, end_date&.present? ? end_date.to_time.end_of_day : Time.now.end_of_day)
|
issues = issues.where('issues.created_on between ? and ?', begin_date&.present? ? begin_date.to_time : Time.now.beginning_of_day, end_date&.present? ? end_date.to_time.end_of_day : Time.now.end_of_day)
|
||||||
end
|
end
|
||||||
|
|
||||||
# keyword
|
# keyword
|
||||||
|
|
Loading…
Reference in New Issue