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.
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