File: /home/timetracker.panomity.com/tm.old/EventSubscriber/ReportingSubscriber.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\ReportingEvent;
use App\Reporting\Report;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
final class ReportingSubscriber implements EventSubscriberInterface
{
/**
* @var AuthorizationCheckerInterface
*/
private $security;
public function __construct(AuthorizationCheckerInterface $security)
{
$this->security = $security;
}
public static function getSubscribedEvents(): array
{
return [
ReportingEvent::class => ['onReporting'],
];
}
public function onReporting(ReportingEvent $event): void
{
$auth = $this->security;
if (!$auth->isGranted('view_reporting') || !$auth->isGranted('task_view')) {
return;
}
$event->addReport(new Report('report_tasks_assigned', 'report_tasks_assigned', 'report_tasks_assigned', 'fas fa-clipboard-list'));
$event->addReport(new Report('report_tasks_teams', 'report_tasks_teams', 'report_tasks_teams', 'fas fa-clipboard-list'));
}
}