File: /home/timetracker.panomity.com/tm.old/Calendar/TaskEntry.php
<?php
/*
* This file is part of the TaskManagementBundle for Kimai 2.
* All rights reserved by Kevin Papst (www.kevinpapst.de).
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace KimaiPlugin\TaskManagementBundle\Calendar;
use App\Calendar\DragAndDropEntry;
use App\Entity\Activity;
use App\Entity\Project;
use KimaiPlugin\TaskManagementBundle\Entity\Task;
final class TaskEntry implements DragAndDropEntry
{
/**
* @var Task
*/
private $task;
/**
* @var string
*/
private $color;
public function __construct(Task $task, string $color)
{
$this->task = $task;
$this->color = $color;
}
public function getData(): array
{
return [
'id' => $this->task->getId(),
];
}
public function getTitle(): string
{
if (!empty($this->task->getTitle())) {
return $this->task->getTitle();
}
if ($this->task->getActivity() !== null) {
return $this->task->getActivity()->getName();
}
return $this->task->getProject()->getName();
}
public function getColor(): string
{
return $this->color;
}
public function getBlockName(): ?string
{
return 'task_entry';
}
public function getActivity(): ?Activity
{
return $this->task->getActivity();
}
public function getProject(): ?Project
{
return $this->task->getProject();
}
}