summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/sorting_preference.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-06-20 11:10:13 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-20 11:10:13 +0000
commit0ea3fcec397b69815975647f5e2aa5fe944a8486 (patch)
tree7979381b89d26011bcf9bdc989a40fcc2f1ed4ff /app/controllers/concerns/sorting_preference.rb
parent72123183a20411a36d607d70b12d57c484394c8e (diff)
downloadgitlab-ce-0ea3fcec397b69815975647f5e2aa5fe944a8486.tar.gz
Add latest changes from gitlab-org/gitlab@15-1-stable-eev15.1.0-rc42
Diffstat (limited to 'app/controllers/concerns/sorting_preference.rb')
-rw-r--r--app/controllers/concerns/sorting_preference.rb17
1 files changed, 13 insertions, 4 deletions
diff --git a/app/controllers/concerns/sorting_preference.rb b/app/controllers/concerns/sorting_preference.rb
index 8d8845e2f41..6278b489028 100644
--- a/app/controllers/concerns/sorting_preference.rb
+++ b/app/controllers/concerns/sorting_preference.rb
@@ -5,10 +5,12 @@ module SortingPreference
include CookiesHelper
def set_sort_order(field = sorting_field, default_order = default_sort_order)
- set_sort_order_from_user_preference(field) ||
- set_sort_order_from_cookie(field) ||
- params[:sort] ||
- default_order
+ sort_order = set_sort_order_from_user_preference(field) || set_sort_order_from_cookie(field) || params[:sort]
+
+ # some types of sorting might not be available on the dashboard
+ return default_order unless valid_sort_order?(sort_order)
+
+ sort_order
end
# Implement sorting_field method on controllers
@@ -85,4 +87,11 @@ module SortingPreference
else value
end
end
+
+ def valid_sort_order?(sort_order)
+ return false unless sort_order
+ return can_sort_by_issue_weight?(action_name == 'issues') if sort_order.include?('weight')
+
+ true
+ end
end