From 9cb9f67055ebd97ab348af6b5c2c1df828bc1f74 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 12 Apr 2015 09:44:32 +0000 Subject: SQL error with SQLServer when grouping+sorting issues (#19544). git-svn-id: http://svn.redmine.org/redmine/trunk@14165 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/sort_helper.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'app/helpers') diff --git a/app/helpers/sort_helper.rb b/app/helpers/sort_helper.rb index c9da9bd10..d6ac8bd22 100644 --- a/app/helpers/sort_helper.rb +++ b/app/helpers/sort_helper.rb @@ -85,7 +85,7 @@ module SortHelper sql = @criteria.collect do |k,o| if s = @available_criteria[k] s = [s] unless s.is_a?(Array) - (o ? s : s.collect {|c| append_desc(c)}) + s.collect {|c| append_order(c, o ? "ASC" : "DESC")} end end.flatten.compact sql.blank? ? nil : sql @@ -129,14 +129,19 @@ module SortHelper self end - # Appends DESC to the sort criterion unless it has a fixed order - def append_desc(criterion) + # Appends ASC/DESC to the sort criterion unless it has a fixed order + def append_order(criterion, order) if criterion =~ / (asc|desc)$/i criterion else - "#{criterion} DESC" + "#{criterion} #{order}" end end + + # Appends DESC to the sort criterion unless it has a fixed order + def append_desc(criterion) + append_order(criterion, "DESC") + end end def sort_name -- cgit v1.2.3