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

@@ -59,6 +59,7 @@ final class LocaleFormatExtensions extends AbstractExtension
new TwigFilter('time', [$this, 'time']),
new TwigFilter('hour24', [$this, 'hour24']),
new TwigFilter('duration', [$this, 'duration']),
new TwigFilter('chart_duration', [$this, 'durationChart']),
new TwigFilter('duration_decimal', [$this, 'durationDecimal']),
new TwigFilter('money', [$this, 'money']),
new TwigFilter('currency', [$this, 'currency']),
@@ -91,6 +92,7 @@ final class LocaleFormatExtensions extends AbstractExtension
new TwigFunction('get_format_duration', [$this, 'getDurationFormat']),
new TwigFunction('create_date', [$this, 'createDate']),
new TwigFunction('locales', [$this, 'getLocales']),
new TwigFunction('month_names', [$this, 'getMonthNames']),
];
}
@@ -187,6 +189,25 @@ final class LocaleFormatExtensions extends AbstractExtension
return $this->getFormatter()->time($date);
}
/**
* @param string|null $year
* @return string[]
*/
public function getMonthNames(?string $year = null): array
{
$withYear = true;
if ($year === null) {
$year = date('Y');
$withYear = false;
}
$months = [];
for ($i = 1; $i < 13; $i++) {
$months[] = $this->getFormatter()->monthName(new DateTime(sprintf('%s-%s-10', $year, ($i < 10 ? '0' . $i : (string) $i))), $withYear);
}
return $months;
}
public function monthName(\DateTime $dateTime, bool $withYear = false): string
{
return $this->getFormatter()->monthName($dateTime, $withYear);
@@ -235,6 +256,11 @@ final class LocaleFormatExtensions extends AbstractExtension
return $this->getFormatter()->durationDecimal($duration);
}
public function durationChart($duration): string
{
return number_format(($duration / 3600), 2, '.', '');
}
/**
* @param string|float $amount
* @return bool|false|string