diff options
Diffstat (limited to 'app/services/boards/lists/create_service.rb')
-rw-r--r-- | app/services/boards/lists/create_service.rb | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/app/services/boards/lists/create_service.rb b/app/services/boards/lists/create_service.rb index 77c3c85df92..704e0254217 100644 --- a/app/services/boards/lists/create_service.rb +++ b/app/services/boards/lists/create_service.rb @@ -3,15 +3,13 @@ module Boards class CreateService < Boards::BaseService def execute List.transaction do - position = find_next_position - increment_higher_lists(position) - create_list_at(position) + create_list_at(next_position) end end private - def find_next_position + def next_position max_position = board.lists.label.maximum(:position) max_position.nil? ? 0 : max_position.succ end @@ -19,11 +17,6 @@ module Boards def create_list_at(position) board.lists.create(params.merge(list_type: :label, position: position)) end - - def increment_higher_lists(position) - board.lists.label.where('position >= ?', position) - .update_all('position = position + 1') - end end end end |