From 5175e27d7cbee327ba464fe117bcdbe21eb9fbd2 Mon Sep 17 00:00:00 2001 From: jasder duan Date: Thu, 8 Aug 2024 09:49:16 +0800 Subject: [PATCH] =?UTF-8?q?FIX=20=E9=87=8C=E7=A8=8B=E7=A2=91=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/versions_controller.rb | 17 ++++++++--------- app/models/version.rb | 1 + 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb index 4e515db71..589791a48 100644 --- a/app/controllers/versions_controller.rb +++ b/app/controllers/versions_controller.rb @@ -13,9 +13,8 @@ class VersionsController < ApplicationController @open_versions_size = versions.where(status: "open")&.size @closed_versions_size = versions.where(status: "closed")&.size - if status.present? - versions = versions.where(status: status.to_s.strip) - end + versions = versions.where(status: status.to_s.strip) if status.present? + versions = versions.search(params[:keyword]) versions = versions.reorder("#{order_name} #{order_type}") @@ -32,7 +31,7 @@ class VersionsController < ApplicationController # @close_issues_size = version_issues.where(status_id: 5).size # @open_issues_size = version_issues.size - @close_issues_size - + version_issues = version_issues.where(author_id: params[:author_id]) if params[:author_id].present? && params[:author_id].to_s != "all" version_issues = version_issues.where(assigned_to_id: params[:assigned_to_id]) if params[:assigned_to_id].present? && params[:assigned_to_id].to_s != "all" version_issues = version_issues.where(tracker_id: params[:tracker_id]) if params[:tracker_id].present? && params[:tracker_id].to_s != "all" @@ -47,11 +46,11 @@ class VersionsController < ApplicationController has_filter_params = (params[:author_id].present? && params[:author_id].to_s != "all") || (params[:assigned_to_id].present? && params[:assigned_to_id].to_s != "all") || (params[:tracker_id].present? && params[:tracker_id].to_s != "all") || - (params[:status_id].present? && params[:status_id].to_s != "all") || - (params[:priority_id].present? && params[:priority_id].to_s != "all") || - (params[:fixed_version_id].present? && params[:fixed_version_id].to_s != "all") || - (params[:done_ratio].present? && params[:done_ratio].to_s != "all") || - (params[:issue_type].present? && params[:issue_type].to_s != "all") || + (params[:status_id].present? && params[:status_id].to_s != "all") || + (params[:priority_id].present? && params[:priority_id].to_s != "all") || + (params[:fixed_version_id].present? && params[:fixed_version_id].to_s != "all") || + (params[:done_ratio].present? && params[:done_ratio].to_s != "all") || + (params[:issue_type].present? && params[:issue_type].to_s != "all") || (params[:issue_tag_id].present? && params[:issue_tag_id].to_s != "all") @version_close_issues_size = has_filter_params ? version_issues.closed.size : @version.issues.issue_issue.issue_includes.closed.size @version_issues_size = has_filter_params ? version_issues.size : @version.issues.issue_issue.issue_includes.size diff --git a/app/models/version.rb b/app/models/version.rb index e6937a42f..b06075dd5 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -35,6 +35,7 @@ class Version < ApplicationRecord scope :version_includes, ->{includes(:issues, :user)} scope :closed, ->{where(status: 'closed')} scope :opening, ->{where(status: 'open')} + scope :search, -> (keyword) { where("name like ? or description like ? ", "%#{keyword}%", "%#{keyword}%") unless keyword.blank? } # def open_issues_count # issues.select(:id,:status_id).where(status_id: [1,2,3,4,6]).size