From 56d75fead9d075b0ed86d156c3d8a755d1b51bfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20B=C3=B6ckelmann?= Date: Sun, 17 Mar 2024 08:42:58 +0100 Subject: [PATCH] Fix Repair Indexing to consider subtasks --- .../main/java/core/services/TaskSeriesService.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/core/services/TaskSeriesService.java b/backend/src/main/java/core/services/TaskSeriesService.java index 6e555c4..1eb3bcc 100644 --- a/backend/src/main/java/core/services/TaskSeriesService.java +++ b/backend/src/main/java/core/services/TaskSeriesService.java @@ -141,21 +141,19 @@ public class TaskSeriesService { taskSerie.getTasks().clear(); taskSeriesRepository.delete(taskSerie); } else { - repearIndexing(taskSerie); + repearIndexing(taskSerie, item.getSeriesIndex()); } } - private void repearIndexing(TaskSerie taskSerie) { + private void repearIndexing(TaskSerie taskSerie, int deletedIndex) { taskSerie.getTasks().sort(Comparator.comparingInt(TaskSerieItem::getSeriesIndex)); List updatedItems = new ArrayList<>(); - int currentIndex = 1; + for(TaskSerieItem taskSerieItem : taskSerie.getTasks()) { - if(taskSerieItem.getSeriesIndex() != currentIndex) { - taskSerieItem.setSeriesIndex(currentIndex); + if(taskSerieItem.getSeriesIndex() > deletedIndex) { + taskSerieItem.setSeriesIndex(taskSerieItem.getSeriesIndex() -1); updatedItems.add(taskSerieItem); } - - currentIndex++; } taskSerieItemRepository.saveAll(updatedItems);