Defect #23596
closed
Filter on issue ID with between/lesser/greater operator does not work
Added by Anonymous about 8 years ago.
Updated almost 8 years ago.
Description
Version 3.3.0 introduced the feature to filter by issues by id, including range, see #4806.
This feature does not work correctly. When a range should be displayed, only a single issue is returned.
Several issues exist in test database:
![](/attachments/download/16526/list_of_issues.PNG)
Query result should show IDs 5 to 10:
![](/attachments/download/16527/list_greater_id_five.PNG)
Query result should show IDs 6 to 8:
![](/attachments/download/16528/list_range_id_six_to_eight.PNG)
Files
This should work.
app/models/issue_query.rb
def sql_for_issue_id_field(field, operator, value)
ids = value.first.to_s.scan(/\d+/).map(&:to_i).join(",")
if ids.present?
if operator == "="
"#{Issue.table_name}.id IN (#{ids})"
else
sql_for_field("id", operator, value, Issue.table_name, "id")
end
else
"1=0"
end
end
I confirmed the problem and dee cay's fix (#23596#note-1) works fine.
This is a patch made from dee cay's post: defect-23596.diff
Setting target version to 3.3.1.
- Related to Feature #4806: Filter the issue list by issue ids added
- Subject changed from Filter on issue ID does not work correctly to Filter on issue ID with between/lesser/greater operator does not work
- Status changed from Confirmed to Resolved
- Assignee set to Jean-Philippe Lang
- Resolution set to Fixed
Slightly different fix applied in r15751, thanks for pointing this out.
- Status changed from Resolved to Closed
Also available in: Atom
PDF