added project detail report (#2651)

- avatars via css only
- random colors for entities
- improves print view
- added colors for teams
- added color to tag
This commit is contained in:
Kevin Papst
2021-07-06 22:01:20 +02:00
committed by GitHub
parent cc6031bfde
commit 9ddb87a6fd
122 changed files with 2736 additions and 1549 deletions

View File

@@ -0,0 +1,67 @@
<?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;
use App\Configuration\SystemConfiguration;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
final class Configuration extends AbstractExtension
{
private $configuration;
private $cache = [];
public function __construct(SystemConfiguration $configuration)
{
$this->configuration = $configuration;
}
/**
* {@inheritdoc}
*/
public function getFunctions()
{
return [
new TwigFunction('config', [$this, 'get']),
];
}
public function get(string $name)
{
if (\array_key_exists($name, $this->cache)) {
return $this->cache[$name];
}
$value = $this->configuration->find($name);
$this->cache[$name] = $value;
return $value;
}
public function __call($name, $arguments)
{
if (\array_key_exists($name, $this->cache)) {
return $this->cache[$name];
}
$checks = ['is' . $name, 'get' . $name, 'has' . $name, $name];
foreach ($checks as $methodName) {
if (method_exists($this->configuration, $methodName)) {
$value = \call_user_func([$this->configuration, $methodName], $arguments);
$this->cache[$name] = $value;
return $value;
}
}
return $this->configuration->find($name);
}
}