summaryrefslogtreecommitdiff
path: root/app/finders/pipelines_finder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/finders/pipelines_finder.rb')
-rw-r--r--app/finders/pipelines_finder.rb26
1 files changed, 15 insertions, 11 deletions
diff --git a/app/finders/pipelines_finder.rb b/app/finders/pipelines_finder.rb
index 22507472e15..d56cf8fe790 100644
--- a/app/finders/pipelines_finder.rb
+++ b/app/finders/pipelines_finder.rb
@@ -108,16 +108,20 @@ class PipelinesFinder
end
def sort_items(items)
- order_by = if %w[id status ref user_id].include?(params[:order_by]) # Allow only indexed columns
- params[:order_by]
- else
- :id
- end
- sort = if params[:sort] =~ /\A(ASC|DESC)\z/i
- params[:sort]
- else
- :desc
- end
- items.order(order_by => sort)
+ return items.order(id: :desc) unless params[:sort].present?
+ params[:sort].each do |s|
+ order_by = if %w[id status ref user_id].include?(s['order_by']) # Allow only indexed columns
+ s['order_by']
+ else
+ :id
+ end
+ sort = if s['asc_desc'] =~ /\A(ASC|DESC)\z/i
+ s['asc_desc']
+ else
+ :desc
+ end
+ items = items.order(order_by => sort)
+ end
+ items
end
end