Defect #30009
closed
Empty sort criteria for issue query gives error
Added by Kumar Abhinav almost 6 years ago.
Updated almost 6 years ago.
Description
When saving an Issue query,provide the sort criteria like below, i.e leaving the middle one empty.
Save the query.
With the new query loaded,click on apply.
It gives error.
Bug occured on redmine: 3.4.6
Files
- Category set to Issues
- Status changed from New to Needs feedback
I could not reproduce the problem. Can you see any error regarding this problem in log/production.log ?
It is reproducible on a clean install of Redmine 3.4.6.
After you save the query,make sure the same query is loaded & click apply.
Since the middle criteria for sort is left empty,the to_param method in Redmine::SortCriteria throws "undefined method `+' for nil:NilClass" error.
I can confirm the defect. It also occurs on the latest trunk.
Switching the query works as expected. As Kumar wrote it only occurs after applying the query a second time.
- Status changed from Needs feedback to Confirmed
Kumar Abhinav wrote:
After you save the query,make sure the same query is loaded & click apply.
Yes, I didn't click "Apply" after creating the query. Now I can reproduce the problem.
Attached a patch that fixes this problem by removing the blank keys from sort criteria.
Another fix is the below one, but I prefer the first solution.
diff --git a/lib/redmine/sort_criteria.rb b/lib/redmine/sort_criteria.rb
index c89ef03c1..acfcbdb0f 100644
--- a/lib/redmine/sort_criteria.rb
+++ b/lib/redmine/sort_criteria.rb
@@ -32,7 +32,7 @@ module Redmine
end
def to_param
- self.collect {|k,o| k + (o == 'desc' ? ':desc' : '')}.join(',')
+ self.collect {|k,o| k + (o == 'desc' ? ':desc' : '') unless k.nil? }.join(',')
end
def to_a
Also, maybe it is a good idea to fix this issue also in the UI by not allowing to select a third sort criteria without selecting the second.
- Subject changed from empty sort criteria for issue query gives error to Empty sort criteria for issue query gives error
- Target version changed from Candidate for next minor release to 3.4.7
- Status changed from Confirmed to Resolved
- Assignee set to Go MAEDA
- Resolution set to Fixed
- Status changed from Resolved to Closed
Committed the patch. Thank you for the patch.
- Related to Defect #32737: Duplicate sort keys for issue query cause SQL error with SQL Server added
Also available in: Atom
PDF