security->isGranted('ROLE_USER')) { throw new AccessDeniedException('Access denied: ROLE_USER required.'); } $task = $this->taskRepository->find($id); if (null === $task) { throw new InvalidArgumentException(sprintf('Task with ID %d not found.', $id)); } $taskCode = $task->getProject()->getCode().'-'.$task->getNumber(); $eventUid = $task->getCalendarEventUid(); $todoUid = $task->getCalendarTodoUid(); $this->entityManager->remove($task); $this->entityManager->flush(); if (null !== $eventUid) { $this->calDavService->deleteEvent($eventUid); } if (null !== $todoUid) { $this->calDavService->deleteTodo($todoUid); } return json_encode([ 'success' => true, 'message' => sprintf('Task %s deleted.', $taskCode), ]); } }