プロジェクト

全般

プロフィール

Vote #81259

完了

Filter issues by file description

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Filters_59
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
59
version_id:
155
issue_org_id:
34715
author_id:
332
assigned_to_id:
332
comments:
5
status_id:
5
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

Currently, Redmine has a feature to filter issues by attachment file name (#2783).

I think it would be even useful if it is possible to filter issues by attachment file description. Using both file name and description makes it much easier to find files or issues.


journals

Go MAEDA wrote:
> I think it would be even useful if it is possible to filter issues by attachment file description.

+1
Added "File description" to the Issues Filters.
I have attached a patch.

<pre><code class="diff">
diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb
index 5ff0e5530..92da7ec2f 100644
--- a/app/models/issue_query.rb
+++ b/app/models/issue_query.rb
@@ -201,6 +201,10 @@ class IssueQuery < Query
"attachment",
:type => :text, :name => l(:label_attachment)
)
+ add_available_filter(
+ "attachment_description",
+ :type => :text, :name => l(:label_attachment_description)
+ )
if User.current.logged?
add_available_filter(
"watcher_id",
@@ -588,6 +592,23 @@ class IssueQuery < Query
end
end

+ def sql_for_attachment_description_field(field, operator, value)
+ cond_description = "a.description IS NOT NULL AND a.description <> ''"
+ c =
+ case operator
+ when '*', '!*'
+ (operator == '*' ? cond_description : "NOT (#{cond_description})")
+ when '~', '!~'
+ (operator == '~' ? '' : "#{cond_description} AND ") +
+ sql_contains('a.description', value.first, :match => (operator == '~'))
+ when '^', '$'
+ sql_contains('a.description', value.first, (operator == '^' ? :starts_with : :ends_with) => true)
+ else
+ '1=0'
+ end
+ "EXISTS (SELECT 1 FROM #{Attachment.table_name} a WHERE a.container_type = 'Issue' AND a.container_id = #{Issue.table_name}.id AND #{c})"
+ end
+
def sql_for_parent_id_field(field, operator, value)
case operator
when "="
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 9d779a2fe..cf91a0447 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -698,6 +698,7 @@ en:
label_attachment_delete: Delete file
label_attachment_plural: Files
label_file_added: File added
+ label_attachment_description: File description
label_report: Report
label_report_plural: Reports
label_news: News
</code></pre>
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Setting the target version to 5.0.0.
--------------------------------------------------------------------------------
Since there are already many items in the dropdown, added a new group "Files" and put "File" and "File description" there for usability.

!{width: 356px; border: 1px solid grey;}.file-group.png!
--------------------------------------------------------------------------------
Committed the patch. Thank you for your contribution.
--------------------------------------------------------------------------------

Admin Redmine さんが3年以上前に更新

  • カテゴリFilters_59 にセット
  • 対象バージョン5.0.0_155 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0