fix datetime modify to now (#3511)

This commit is contained in:
Kevin Papst
2022-09-03 01:11:48 +02:00
committed by GitHub
parent 1763a2efff
commit 3f4f63dc33
5 changed files with 40 additions and 7 deletions

View File

@@ -118,7 +118,7 @@ class QuickEntryController extends AbstractController
];
}
$beginTime = $this->configuration->getTimesheetDefaultBeginTime();
$beginTime = $factory->createDateTime($this->configuration->getTimesheetDefaultBeginTime())->format('H:i:s');
// fill all rows and columns to make sure we do not have missing records
/** @var QuickEntryModel[] $models */

View File

@@ -55,7 +55,11 @@ final class DurationFixedBeginMode implements TrackingModeInterface
}
$newBegin = clone $timesheet->getBegin();
$newBegin->modify($this->configuration->getTimesheetDefaultBeginTime());
// this prevents the problem that "now" is being ignored in modify()
$beginTime = (new DateTime($this->configuration->getTimesheetDefaultBeginTime(), $newBegin->getTimezone()))->format('H:i:s');
$newBegin->modify($beginTime);
$timesheet->setBegin($newBegin);
}

View File

@@ -63,7 +63,12 @@ final class DurationOnlyMode extends AbstractTrackingMode
}
$newBegin = clone $timesheet->getBegin();
$newBegin->modify($this->configuration->getTimesheetDefaultBeginTime());
// this prevents the problem that "now" is being ignored in modify()
$beginTime = $this->configuration->getTimesheetDefaultBeginTime();
$beginTime = (new DateTime($this->configuration->getTimesheetDefaultBeginTime(), $newBegin->getTimezone()))->format('H:i:s');
$newBegin->modify($beginTime);
$timesheet->setBegin($newBegin);
parent::create($timesheet, $request);