DEV: Support comma seperated value in order filter for /filter route (#21318)

This allows multiple ordering to be specified by using a comma seperated string.
For example, `order:created,views` would order the topics by
`Topic#created_at` and then `Topic#views.
This commit is contained in:
Alan Guo Xiang Tan
2023-05-03 12:39:52 +08:00
committed by GitHub
parent 93f7c24240
commit 691b9fb919
2 changed files with 23 additions and 8 deletions

View File

@@ -132,6 +132,8 @@ class TopicsFilter
"posters-min", "posters-max", "views-min", "views-max"
value = values.last
value if value =~ /\A\d+\z/
when "order"
values.flat_map { |value| value.split(",") }
when "created-by"
values.flat_map { |value| value.split(",").map { |username| username.delete_prefix("@") } }
else