diff options
Diffstat (limited to 'app/services/boards/issues/list_service.rb')
-rw-r--r-- | app/services/boards/issues/list_service.rb | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb index fd4a462c7b2..533e6787855 100644 --- a/app/services/boards/issues/list_service.rb +++ b/app/services/boards/issues/list_service.rb @@ -3,9 +3,9 @@ module Boards class ListService < BaseService def execute issues = IssuesFinder.new(current_user, filter_params).execute - issues = without_board_labels(issues) unless list.movable? - issues = with_list_label(issues) if list.movable? - issues + issues = without_board_labels(issues) unless list + issues = with_list_label(issues) if movable_list? + issues.order_by_position_and_priority end private @@ -15,12 +15,17 @@ module Boards end def list - @list ||= board.lists.find(params[:id]) + return @list if defined?(@list) + + @list = board.lists.find(params[:id]) if params.key?(:id) + end + + def movable_list? + @movable_list ||= list.present? && list.movable? end def filter_params set_default_scope - set_default_sort set_project set_state @@ -31,16 +36,12 @@ module Boards params[:scope] = 'all' end - def set_default_sort - params[:sort] = 'priority' - end - def set_project params[:project_id] = project.id end def set_state - params[:state] = list.done? ? 'closed' : 'opened' + params[:state] = list && list.closed? ? 'closed' : 'opened' end def board_label_ids |