diff --git a/app/Classes/Modules/Tasks/ControllerLogic/UpdateTaskControllerLogic.php b/app/Classes/Modules/Tasks/ControllerLogic/UpdateTaskControllerLogic.php index 1735c57..8a64ded 100644 --- a/app/Classes/Modules/Tasks/ControllerLogic/UpdateTaskControllerLogic.php +++ b/app/Classes/Modules/Tasks/ControllerLogic/UpdateTaskControllerLogic.php @@ -58,7 +58,7 @@ class UpdateTaskControllerLogic extends AbstractControllerLogic { try { - $object = new TaskObject($request->input('milestone_id'), $request->input('type_id'), $request->input('title'), $request->input('description'), $request->input('status'), $request->input('active')); + $object = new TaskObject($request->input('type_id'), $request->input('title'), $request->input('description'), $request->input('status'), $request->input('active'), $request->input('milestone_id')); $this->canUpdateTask->passes($object); diff --git a/app/Classes/Modules/Tasks/DataTransferObjects/TaskObject.php b/app/Classes/Modules/Tasks/DataTransferObjects/TaskObject.php index dcc2665..3aafb5b 100644 --- a/app/Classes/Modules/Tasks/DataTransferObjects/TaskObject.php +++ b/app/Classes/Modules/Tasks/DataTransferObjects/TaskObject.php @@ -7,9 +7,6 @@ use App\Classes\Interfaces\DataTransferObject; class TaskObject implements DataTransferObject { - /** @var int */ - private $milestoneId; - /** @var int */ private $typeId; @@ -25,31 +22,26 @@ class TaskObject implements DataTransferObject /** @var bool */ private $isActive; + /** @var int|null */ + private $milestoneId; + /** * TaskObject constructor. - * @param int $milestoneId - * @param int $typeId - * @param string $title - * @param string $description - * @param int $status - * @param bool $isActive + * @param int $typeId + * @param string $title + * @param string $description + * @param int $status + * @param bool $isActive + * @param int|null $milestoneId */ - public function __construct(int $milestoneId, int $typeId, string $title, string $description, int $status, bool $isActive) + public function __construct(int $typeId, string $title, string $description, int $status, bool $isActive, ?int $milestoneId) { - $this->milestoneId = $milestoneId; $this->typeId = $typeId; $this->title = $title; $this->description = $description; $this->status = $status; $this->isActive = $isActive; - } - - /** - * @return int - */ - public function getMilestoneId(): int - { - return $this->milestoneId; + $this->milestoneId = $milestoneId; } /** @@ -87,11 +79,18 @@ class TaskObject implements DataTransferObject /** * @return bool */ - public function IsActive(): bool + public function isActive(): bool { return $this->isActive; } + /** + * @return int|null + */ + public function getMilestoneId(): ?int + { + return $this->milestoneId; + } } \ No newline at end of file diff --git a/app/Http/Controllers/Tasks/TimeTrackerController.php b/app/Http/Controllers/Tasks/TimeTrackerController.php index aef51e6..3d4fa75 100644 --- a/app/Http/Controllers/Tasks/TimeTrackerController.php +++ b/app/Http/Controllers/Tasks/TimeTrackerController.php @@ -47,25 +47,27 @@ class TimeTrackerController $task->status = 12; $task->save(); - $milestone = ProjectMilestone::find($task->milestone_id); - $milestonPendingTasks = Task::where('milestone_id', $task->milestone_id)->where('status', '!=', 12); + if($task->milestone_id) { + $milestone = ProjectMilestone::find($task->milestone_id); + $milestonPendingTasks = Task::where('milestone_id', $task->milestone_id)->where('status', '!=', 12); - if(!$milestonPendingTasks->exists()){ - $milestone->complete = true; - $milestone->save(); - } + if(!$milestonPendingTasks->exists()){ + $milestone->complete = true; + $milestone->save(); + } - $project = $milestone->project->first(); - $projectPendingTasks = $project->tasks->where('status', '!=', 12); + $project = $milestone->project->first(); + $projectPendingTasks = $project->tasks->where('status', '!=', 12); - if(!$projectPendingTasks->count()){ - $project->status = 12; - $project->save(); - } else { - $nextTask = $projectPendingTasks->first(); - $nextTask->status = 7; - $nextTask->active = true; - $nextTask->save(); + if(!$projectPendingTasks->count()){ + $project->status = 12; + $project->save(); + } else { + $nextTask = $projectPendingTasks->first(); + $nextTask->status = 7; + $nextTask->active = true; + $nextTask->save(); + } } return (new ApiResponseObject('Task Completed Successfully', diff --git a/app/Http/Resources/TaskResource.php b/app/Http/Resources/TaskResource.php index 6b263a2..ef2a254 100644 --- a/app/Http/Resources/TaskResource.php +++ b/app/Http/Resources/TaskResource.php @@ -28,7 +28,7 @@ class TaskResource extends JsonResource return [ 'id' => $this->id, 'milestone' => new ProjectMilestoneResource($this->milestone), - 'business_service' => new ModularTypeResource($this->milestone->project->projectType), + 'business_service' => $this->milestone ? new ModularTypeResource($this->milestone->project->projectType): null, 'type_id' => $this->type_id, 'task_type' => new ModularTypeResource($this->taskType), 'title' => $this->title, diff --git a/resources/assets/vue/components/general/Llist/PaginationComponent.vue b/resources/assets/vue/components/general/Llist/PaginationComponent.vue index 0427c6a..124bd20 100644 --- a/resources/assets/vue/components/general/Llist/PaginationComponent.vue +++ b/resources/assets/vue/components/general/Llist/PaginationComponent.vue @@ -1,5 +1,5 @@