Release 2.6.0 (#4472)

- Added: calendar entry title combination for customer, project and activity
- Added: show not_invoiced and not_exported data in detail screens
- Added: force logout if user is disabled
- Added: reduced amount of database queries on several screens
- Fixed: open-close status on work-contract screen for users without configuration
- Fixed: failsafe order/orderBy in query if manually manipulated to be null
- Fixed: unify statistic calculation (not_invoiced and not_exported) across screens
- Tech: bump packages
- Tech: Symfony 6.4
This commit is contained in:
Kevin Papst
2023-12-17 16:19:50 +01:00
committed by GitHub
parent af82fd040d
commit 5f4b6d3cfa
77 changed files with 1362 additions and 1242 deletions

View File

@@ -16,7 +16,6 @@ use App\Event\PageActionsEvent;
use App\Event\ThemeEvent;
use App\Event\ThemeJavascriptTranslationsEvent;
use App\Utils\Color;
use App\Utils\FormFormatConverter;
use Symfony\Bundle\SecurityBundle\Security;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
@@ -110,11 +109,8 @@ final class ThemeExtension implements RuntimeExtensionInterface
return (new Color())->getRandom($identifier);
}
public function getTimePresets(string $timezone, string $format): array
public function getTimePresets(string $timezone): array
{
$converter = new FormFormatConverter();
$format = $converter->convert($format);
$intervalMinutes = $this->configuration->getTimesheetIncrementMinutes();
if ($intervalMinutes < 5) {
@@ -123,17 +119,15 @@ final class ThemeExtension implements RuntimeExtensionInterface
$maxMinutes = 24 * 60 - $intervalMinutes;
$date = new \DateTime('now', new \DateTimeZone($timezone));
$date->setTime(0, 0, 0);
$date = new \DateTimeImmutable('now', new \DateTimeZone($timezone));
$date = $date->setTime(0, 0, 0);
$presets = [
$date->format($format)
];
$presets = [$date];
for ($minutes = $intervalMinutes; $minutes <= $maxMinutes; $minutes += $intervalMinutes) {
$date->modify('+' . $intervalMinutes . ' minutes');
$date = $date->modify('+' . $intervalMinutes . ' minutes');
$presets[] = $date->format($format);
$presets[] = $date;
}
return $presets;