diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-20 13:49:51 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-20 13:49:51 +0000 |
commit | 71786ddc8e28fbd3cb3fcc4b3ff15e5962a1c82e (patch) | |
tree | 6a2d93ef3fb2d353bb7739e4b57e6541f51cdd71 /app/controllers/projects/branches_controller.rb | |
parent | a7253423e3403b8c08f8a161e5937e1488f5f407 (diff) | |
download | gitlab-ce-71786ddc8e28fbd3cb3fcc4b3ff15e5962a1c82e.tar.gz |
Add latest changes from gitlab-org/gitlab@15-9-stable-eev15.9.0-rc42
Diffstat (limited to 'app/controllers/projects/branches_controller.rb')
-rw-r--r-- | app/controllers/projects/branches_controller.rb | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/app/controllers/projects/branches_controller.rb b/app/controllers/projects/branches_controller.rb index 7b01e4db42a..f19f143816f 100644 --- a/app/controllers/projects/branches_controller.rb +++ b/app/controllers/projects/branches_controller.rb @@ -19,8 +19,10 @@ class Projects::BranchesController < Projects::ApplicationController def index respond_to do |format| format.html do - @mode = params[:state].presence || 'overview' - @sort = sort_value_for_mode + @mode = fetch_mode + next render_404 unless @mode + + @sort = sort_param || default_sort @overview_max_branches = 5 # Fetch branches for the specified mode @@ -128,11 +130,7 @@ class Projects::BranchesController < Projects::ApplicationController private - def sort_value_for_mode - custom_sort || default_sort - end - - def custom_sort + def sort_param sort = params[:sort].presence unless sort.in?(supported_sort_options) @@ -144,11 +142,11 @@ class Projects::BranchesController < Projects::ApplicationController end def default_sort - 'stale' == @mode ? sort_value_oldest_updated : sort_value_recently_updated + 'stale' == @mode ? SORT_UPDATED_OLDEST : SORT_UPDATED_RECENT end def supported_sort_options - [nil, sort_value_name, sort_value_oldest_updated, sort_value_recently_updated] + [nil, SORT_NAME, SORT_UPDATED_OLDEST, SORT_UPDATED_RECENT] end # It can be expensive to calculate the diverging counts for each @@ -206,15 +204,23 @@ class Projects::BranchesController < Projects::ApplicationController limit = @overview_max_branches + 1 @active_branches = - BranchesFinder.new(@repository, { per_page: limit, sort: sort_value_recently_updated }) + BranchesFinder.new(@repository, { per_page: limit, sort: SORT_UPDATED_RECENT }) .execute(gitaly_pagination: true).select(&:active?) @stale_branches = - BranchesFinder.new(@repository, { per_page: limit, sort: sort_value_oldest_updated }) + BranchesFinder.new(@repository, { per_page: limit, sort: SORT_UPDATED_OLDEST }) .execute(gitaly_pagination: true).select(&:stale?) @branches = @active_branches + @stale_branches end + def fetch_mode + state = params[:state].presence + + return 'overview' unless state + + state.presence_in(%w[active stale all overview]) + end + def confidential_issue_project return if params[:confidential_issue_project_id].blank? |