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