diff --git a/backend/.idea/workspace.xml b/backend/.idea/workspace.xml index c0cb9cd..c7a54fb 100644 --- a/backend/.idea/workspace.xml +++ b/backend/.idea/workspace.xml @@ -5,11 +5,7 @@ - - - - diff --git a/backend/src/main/java/core/api/models/timemanager/taskgroup/RecursiveTaskgroupInfo.java b/backend/src/main/java/core/api/models/timemanager/taskgroup/RecursiveTaskgroupInfo.java index 2cfd127..3e5e8e5 100644 --- a/backend/src/main/java/core/api/models/timemanager/taskgroup/RecursiveTaskgroupInfo.java +++ b/backend/src/main/java/core/api/models/timemanager/taskgroup/RecursiveTaskgroupInfo.java @@ -32,7 +32,7 @@ public class RecursiveTaskgroupInfo { for(Task task : taskgroup.getActiveTasks()) { this.activeTasks.add(new TaskOverviewInfo(task)); - if(task.getDeadline().isBefore(LocalDate.now())) { + if(task.getDeadline() != null && task.getDeadline().isBefore(LocalDate.now())) { this.hasOverdueTask = true; } } diff --git a/backend/src/main/java/core/api/models/timemanager/tasks/TaskEntityInfo.java b/backend/src/main/java/core/api/models/timemanager/tasks/TaskEntityInfo.java index 6fb9121..3fcf030 100644 --- a/backend/src/main/java/core/api/models/timemanager/tasks/TaskEntityInfo.java +++ b/backend/src/main/java/core/api/models/timemanager/tasks/TaskEntityInfo.java @@ -28,7 +28,9 @@ public class TaskEntityInfo { this.eta = task.getEta(); this.startDate = task.getStartDate(); this.deadline = task.getDeadline(); - this.overdue = LocalDate.now().isAfter(task.getDeadline()); + if(task.getDeadline() != null) { + this.overdue = LocalDate.now().isAfter(task.getDeadline()); + } this.finished = task.isFinished(); this.workTime = task.getWorkTime(); } diff --git a/backend/src/main/java/core/api/models/timemanager/tasks/TaskOverviewInfo.java b/backend/src/main/java/core/api/models/timemanager/tasks/TaskOverviewInfo.java index 22d5dc7..d4d701b 100644 --- a/backend/src/main/java/core/api/models/timemanager/tasks/TaskOverviewInfo.java +++ b/backend/src/main/java/core/api/models/timemanager/tasks/TaskOverviewInfo.java @@ -19,7 +19,9 @@ public class TaskOverviewInfo { this.activeMinutes = task.getWorkTime(); this.eta = task.getEta(); this.limit = task.getDeadline(); - this.overdue = LocalDate.now().isAfter(task.getDeadline()); + if(task.getDeadline() != null) { + this.overdue = LocalDate.now().isAfter(task.getDeadline()); + } } public long getTaskID() { diff --git a/backend/src/main/java/core/services/TaskScheduleService.java b/backend/src/main/java/core/services/TaskScheduleService.java index 85562b4..933dca4 100644 --- a/backend/src/main/java/core/services/TaskScheduleService.java +++ b/backend/src/main/java/core/services/TaskScheduleService.java @@ -82,7 +82,8 @@ public class TaskScheduleService { public ServiceResult scheduleTaskNow(Task task) { //Check if task has already an active schedule - if(task.hasActiveSchedule()) { + ServiceResult activeSchedule = getActiveSchedule(task.getTaskgroup().getUser().getUsername()); + if(task.hasActiveSchedule() || activeSchedule.getExitCode() != ServiceExitCode.MISSING_ENTITY) { return new ServiceResult<>(ServiceExitCode.ENTITY_ALREADY_EXIST); } else { BasicTaskSchedule basicTaskSchedule = new BasicTaskSchedule(task, LocalDate.now()); diff --git a/frontend/src/app/tasks/task-editor/task-editor.component.ts b/frontend/src/app/tasks/task-editor/task-editor.component.ts index 7c18112..dd5d4c6 100644 --- a/frontend/src/app/tasks/task-editor/task-editor.component.ts +++ b/frontend/src/app/tasks/task-editor/task-editor.component.ts @@ -72,11 +72,13 @@ export class TaskEditorComponent implements OnInit { } editTask() { + const startingDate = this.startDate.value.length == 0? null:this.startDate.value.length + const deadline = this.endDate.value.length == 0? null:this.endDate.value.length this.taskService.tasksTaskIDPost(this.editorData.task!.taskID, { taskName: this.nameCtrl.value, eta: this.etaCtrl.value, - startDate: this.startDate.value, - deadline: this.endDate.value + startDate: startingDate, + deadline: deadline }).subscribe({ next: resp => { this.editorData.task!.taskName = this.nameCtrl.value;