QA #1074
未完了検索ボックスの整数入力時、チケット番号ではなく検索対象文字列として扱いたい
0%
説明
■現象/要望¶
検索ボックスの整数入力時、チケット番号ではなく検索対象文字列として扱いたい場合がある。
例えば エラーコード(404など)に関連するチケットを検索したい場合、チケット番号=404に強制的に移行してしまい検索できない。
■解決策¶
"123" のようにダブルクォーテーションで囲むと文字列として扱われます。
https://twitter.com/g_maeda/status/1218745351672217600
以下、ダブルクォーテーションを毎回入力したくない場合の対応
Redmine自体のソースコードを変更し、整数値の場合にチケットに移行する処理を無効にする方法もある。
full_text_searchプラグインを利用している場合、検索ボックスの処理はfull_text_searchプラグイン側で実施しているため、変更箇所が異なる。
変更対象ファイル¶
整数値の場合にチケットに移行する処理を無効にする
full_text_searchプラグインを利用していない場合(Redmine標準処理)
app/controllers/search_controller.rb
full_text_searchプラグインを利用している場合
plugins/full_text_search/lib/full_text_search/hooks/controller_search_index.rb
変更内容¶
上記ソースファイルをquick jump to an issue で検索
quick jump to an issueの、redirectとreturnの行をコメントアウトする。
変更後、Redmineを再起動すれば反映される。
# quick jump to an issue if !api_request? && (m = @question.match(/^#?(\d+)$/)) && (issue = Issue.vis ible.find_by_id(m[1].to_i)) # redirect_to issue_path(issue) # return end
■対応状況¶
Redmineのソースコード変更により対応可能
■補足¶
検索ボックスにチケット番号を入力して移動する機能、実際にどれだけ使われているんだろうか。
アクセスログを確認してみよう。