refactored page actions to event subscriber (#2420)

This commit is contained in:
Kevin Papst
2021-03-15 14:18:44 +01:00
committed by GitHub
parent 9a2fd9ba91
commit e1c9af795c
117 changed files with 2403 additions and 815 deletions

View File

@@ -1,36 +0,0 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Twig\Runtime;
use App\Export\ServiceExport;
use Twig\Extension\RuntimeExtensionInterface;
final class ExporterExtension implements RuntimeExtensionInterface
{
/**
* @var ServiceExport
*/
private $service;
public function __construct(ServiceExport $service)
{
$this->service = $service;
}
public function getTimesheetExporter(): array
{
$ids = [];
foreach ($this->service->getTimesheetExporter() as $exporter) {
$ids[] = $exporter->getId();
}
return $ids;
}
}

View File

@@ -52,13 +52,9 @@ final class ThemeExtension implements RuntimeExtensionInterface
return $themeEvent;
}
public function actions(User $user, string $action, array $payload): ThemeEvent
public function actions(User $user, string $action, string $view, array $payload = []): ThemeEvent
{
if (!\array_key_exists('actions', $payload)) {
$payload['actions'] = [];
}
$themeEvent = new PageActionsEvent($user, $payload, $action);
$themeEvent = new PageActionsEvent($user, $payload, $action, $view);
$eventName = 'actions.' . $action;