optimizations (#2904)

* calc once, then re-use
* prevent invalid theme switch
* allow to turn off weekly-quick-entries by permissions
* remove 00:00 from date-times that likely do not need a time
* fix datepicker out of window
This commit is contained in:
Kevin Papst
2021-11-05 10:28:48 +01:00
committed by GitHub
parent c8854b0775
commit bd2fe32d5a
21 changed files with 64 additions and 45 deletions

View File

@@ -55,7 +55,7 @@ final class MenuSubscriber implements EventSubscriberInterface
$timesheets->setChildRoutes(['timesheet_export', 'timesheet_edit', 'timesheet_create', 'timesheet_multi_update']);
$menu->addItem($timesheets);
if ($auth->isGranted('edit_own_timesheet')) {
if ($auth->isGranted('weekly_own_timesheet') && $auth->isGranted('edit_own_timesheet')) {
$mode = $this->trackingModeService->getActiveMode();
if ($mode->canEditDuration() || $mode->canEditEnd()) {
$menu->addItem(

View File

@@ -11,6 +11,7 @@ namespace App\EventSubscriber;
use App\Entity\User;
use App\Entity\UserPreference;
use App\Form\Type\SkinType;
use KevinPapst\AdminLTEBundle\Helper\ContextHelper;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\KernelEvent;
@@ -70,7 +71,7 @@ final class ThemeOptionsSubscriber implements EventSubscriberInterface
$name = $ref->getName();
switch ($name) {
case UserPreference::SKIN:
if (!empty($ref->getValue())) {
if (!empty($ref->getValue()) && \in_array($ref->getValue(), SkinType::THEMES)) {
$this->helper->setOption('skin', 'skin-' . $ref->getValue());
}
break;
@@ -79,7 +80,7 @@ final class ThemeOptionsSubscriber implements EventSubscriberInterface
if ($ref->getValue() === 'boxed') {
$this->helper->setOption('boxed_layout', true);
$this->helper->setOption('fixed_layout', false);
} elseif ($ref->getValue() === 'fixed') {
} else {
$this->helper->setOption('boxed_layout', false);
$this->helper->setOption('fixed_layout', true);
}