Release 2.32 (#5411)

* bump packages
* dynamic invoice options
* make sure that invoice previews can be detected
* support for mpdf associated files
* do not include any future times in work contract calculation
* re-add username column in Excel spreadsheet
* deactivate internal rate editing
* show if plugin update exists
* shorten name to Kimai only, without Time-Tracking
* remove check for existing id in work contract
* fix metafield already defined in search
* helper methods to unlock months
* new translation
* send event on unlock month
This commit is contained in:
Kevin Papst
2025-04-06 09:53:48 +02:00
committed by GitHub
parent 2a75cd6230
commit 2e6b700b43
58 changed files with 749 additions and 437 deletions

View File

@@ -24,15 +24,17 @@ use Twig\Extension\RuntimeExtensionInterface;
final class ThemeExtension implements RuntimeExtensionInterface
{
public function __construct(private EventDispatcherInterface $eventDispatcher, private TranslatorInterface $translator, private SystemConfiguration $configuration, private Security $security)
public function __construct(
private readonly EventDispatcherInterface $eventDispatcher,
private readonly TranslatorInterface $translator,
private readonly SystemConfiguration $configuration,
private readonly Security $security
)
{
}
/**
* @param Environment $environment
* @param string $eventName
* @param array<string, mixed> $payload
* @return ThemeEvent
*/
public function trigger(Environment $environment, string $eventName, array $payload = []): ThemeEvent
{
@@ -61,7 +63,7 @@ final class ThemeExtension implements RuntimeExtensionInterface
public function getJavascriptTranslations(): array
{
$event = new ThemeJavascriptTranslationsEvent();
$event = new ThemeJavascriptTranslationsEvent(); // @phpstan-ignore new.deprecated
$this->eventDispatcher->dispatch($event);
@@ -97,7 +99,7 @@ final class ThemeExtension implements RuntimeExtensionInterface
public function generateTitle(?string $prefix = null, string $delimiter = ' – '): string
{
return ($prefix ?? '') . Constants::SOFTWARE . $delimiter . $this->translator->trans('time_tracking', [], 'messages');
return ($prefix ?? '') . Constants::SOFTWARE;
}
public function colorize(?string $color, ?string $identifier = null): string