diff --git a/backend/src/main/java/core/api/controller/TaskController.java b/backend/src/main/java/core/api/controller/TaskController.java index a6dff2c..f47aeeb 100644 --- a/backend/src/main/java/core/api/controller/TaskController.java +++ b/backend/src/main/java/core/api/controller/TaskController.java @@ -11,6 +11,7 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @@ -85,6 +86,10 @@ public class TaskController { return ResponseEntity.status(404).body(new SimpleStatusResponse("failed")); } + if(taskFieldInfo.getStartDate() == null) { + taskFieldInfo.setStartDate(LocalDate.now()); + } + ServiceResult creationResult = taskService.createTask(taskgroupPermissionResult.getResult(), taskFieldInfo); if(creationResult.getExitCode() == ServiceExitCode.ENTITY_ALREADY_EXIST) { return ResponseEntity.status(409).body(new SimpleStatusResponse("failed")); diff --git a/backend/src/main/java/core/api/models/timemanager/tasks/TaskFieldInfo.java b/backend/src/main/java/core/api/models/timemanager/tasks/TaskFieldInfo.java index 1cf7335..add3e43 100644 --- a/backend/src/main/java/core/api/models/timemanager/tasks/TaskFieldInfo.java +++ b/backend/src/main/java/core/api/models/timemanager/tasks/TaskFieldInfo.java @@ -2,6 +2,7 @@ package core.api.models.timemanager.tasks; import com.fasterxml.jackson.annotation.JsonFormat; import org.hibernate.validator.constraints.Length; +import org.springframework.lang.Nullable; import javax.validation.constraints.NotBlank; import java.time.LocalDate; diff --git a/frontend/src/api/model/taskFieldInfo.ts b/frontend/src/api/model/taskFieldInfo.ts index 6f89152..85ed8db 100644 --- a/frontend/src/api/model/taskFieldInfo.ts +++ b/frontend/src/api/model/taskFieldInfo.ts @@ -23,10 +23,10 @@ export interface TaskFieldInfo { /** * date from which the task can be started */ - startDate: string; + startDate?: string; /** * date until the task has to be finished */ - deadline: string; + deadline?: string; } diff --git a/frontend/src/api/model/taskOverviewInfo.ts b/frontend/src/api/model/taskOverviewInfo.ts index b8a681c..63c1fc5 100644 --- a/frontend/src/api/model/taskOverviewInfo.ts +++ b/frontend/src/api/model/taskOverviewInfo.ts @@ -3,7 +3,7 @@ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0 - * + * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech @@ -12,7 +12,7 @@ import { TaskgroupEntityInfo } from './taskgroupEntityInfo'; -export interface TaskOverviewInfo { +export interface TaskOverviewInfo { /** * internal id of task */ @@ -37,5 +37,6 @@ export interface TaskOverviewInfo { * number in minutes that was already worked on this task */ activeTime?: number; + taskgroupPath: Array; } diff --git a/frontend/src/app/dashboard/task-overview/task-overview.component.ts b/frontend/src/app/dashboard/task-overview/task-overview.component.ts index 1b6ae7d..c20d2f5 100644 --- a/frontend/src/app/dashboard/task-overview/task-overview.component.ts +++ b/frontend/src/app/dashboard/task-overview/task-overview.component.ts @@ -80,13 +80,14 @@ export class TaskOverviewComponent { const dialogRef = this.dialog.open(TaskEditorComponent, {data: editorData, width: "600px"}) dialogRef.afterClosed().subscribe(res => { if(res != undefined) { - const taskOverviewInfo = { + const taskOverviewInfo: TaskOverviewInfo = { taskID: res.taskID, eta: res.eta, limit: res.deadline, taskName: res.taskName, activeTime: 0, - overdue: res.overdue + overdue: res.overdue, + taskgroupPath: [] } this.creationEmitter.emit({ task: taskOverviewInfo, 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 ab05b42..58c584f 100644 --- a/frontend/src/app/tasks/task-editor/task-editor.component.ts +++ b/frontend/src/app/tasks/task-editor/task-editor.component.ts @@ -49,13 +49,21 @@ export class TaskEditorComponent implements OnInit { } createTask() { - console.log(this.startDate.value) - console.log(this.endDate.value) + let endDate_formatted: string|undefined = undefined; + let startDate_formatted: string|undefined = undefined; + if(this.endDate.value.length > 0) { + endDate_formatted = moment(this.endDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ'); + } + + if(this.startDate.value.length > 0) { + startDate_formatted = moment(this.startDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ'); + } + this.taskService.tasksTaskgroupIDPut(this.editorData.taskgroupID, { taskName: this.nameCtrl.value, eta: this.etaCtrl.value, - startDate: moment(this.startDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ'), - deadline: moment(this.endDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ') + startDate: startDate_formatted, + deadline: endDate_formatted }).subscribe({ next: resp => { this.dialog.close(resp); diff --git a/openapi.yaml b/openapi.yaml index 6cc075a..a793c47 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -2236,8 +2236,6 @@ components: required: - taskName - eta - - startDate - - deadline additionalProperties: false properties: taskName: