49c74068ae
In order to let users' sorting preferences transfer between devices, we save the preference for issues and MRs (one preference for issues, one for MRs) in the backend inside the UserPreference object
60 lines
1.2 KiB
Ruby
60 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module IssuableCollectionsAction
|
|
extend ActiveSupport::Concern
|
|
include IssuableCollections
|
|
include IssuesCalendar
|
|
|
|
# rubocop:disable Gitlab/ModuleWithInstanceVariables
|
|
def issues
|
|
@issues = issuables_collection
|
|
.non_archived
|
|
.page(params[:page])
|
|
|
|
@issuable_meta_data = issuable_meta_data(@issues, collection_type)
|
|
|
|
respond_to do |format|
|
|
format.html
|
|
format.atom { render layout: 'xml.atom' }
|
|
end
|
|
end
|
|
|
|
def merge_requests
|
|
@merge_requests = issuables_collection.page(params[:page])
|
|
|
|
@issuable_meta_data = issuable_meta_data(@merge_requests, collection_type)
|
|
end
|
|
# rubocop:enable Gitlab/ModuleWithInstanceVariables
|
|
|
|
def issues_calendar
|
|
render_issues_calendar(issuables_collection)
|
|
end
|
|
|
|
private
|
|
|
|
def issuable_sorting_field
|
|
case action_name
|
|
when 'issues'
|
|
Issue::SORTING_PREFERENCE_FIELD
|
|
when 'merge_requests'
|
|
MergeRequest::SORTING_PREFERENCE_FIELD
|
|
else
|
|
nil
|
|
end
|
|
end
|
|
|
|
def finder_type
|
|
case action_name
|
|
when 'issues', 'issues_calendar'
|
|
IssuesFinder
|
|
when 'merge_requests'
|
|
MergeRequestsFinder
|
|
else
|
|
nil
|
|
end
|
|
end
|
|
|
|
def finder_options
|
|
super.merge(non_archived: true)
|
|
end
|
|
end
|