File: /home/timetracker.panomity.com/tm.old/EventSubscriber/TimesheetRestartEventSubscriber.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\EventSubscriber;
use App\Event\TimesheetRestartPostEvent;
use KimaiPlugin\TaskManagementBundle\Repository\TaskRepository;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
final class TimesheetRestartEventSubscriber implements EventSubscriberInterface
{
/**
* @var TaskRepository
*/
private $taskRepository;
public function __construct(TaskRepository $taskRepository)
{
$this->taskRepository = $taskRepository;
}
public static function getSubscribedEvents(): array
{
return [
TimesheetRestartPostEvent::class => ['onDashboardEvent', 100],
];
}
public function onDashboardEvent(TimesheetRestartPostEvent $event): void
{
$task = $this->taskRepository->findByTimesheet($event->getOriginalTimesheet());
if ($task !== null) {
$task->addTimesheet($event->getTimesheet());
$this->taskRepository->saveTask($task);
}
}
}