customize html and pdf exports with twig templates (#1582)

This commit is contained in:
Kevin Papst
2020-03-23 01:51:02 +01:00
committed by GitHub
parent 1ca1b00d11
commit 33f76f426c
32 changed files with 895 additions and 307 deletions

View File

@@ -0,0 +1,46 @@
<?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\Export\Renderer;
use App\Repository\ProjectRepository;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Twig\Environment;
final class HtmlRendererFactory
{
/**
* @var Environment
*/
private $twig;
/**
* @var EventDispatcherInterface
*/
private $dispatcher;
/**
* @var ProjectRepository
*/
private $projectRepository;
public function __construct(Environment $twig, EventDispatcherInterface $dispatcher, ProjectRepository $projectRepository)
{
$this->twig = $twig;
$this->dispatcher = $dispatcher;
$this->projectRepository = $projectRepository;
}
public function create(string $id, string $template): HtmlRenderer
{
$renderer = new HtmlRenderer($this->twig, $this->dispatcher, $this->projectRepository);
$renderer->setId($id);
$renderer->setTemplate($template);
return $renderer;
}
}