configuration = $configuration; } public function canEditBegin(): bool { return true; } public function canEditEnd(): bool { return false; } public function canEditDuration(): bool { return true; } public function canUpdateTimesWithAPI(): bool { return true; } public function getId(): string { return 'duration_only'; } public function canSeeBeginAndEndTimes(): bool { return false; } public function create(Timesheet $timesheet, ?Request $request = null): void { if (null === $timesheet->getBegin()) { $timesheet->setBegin(new DateTime('now', $this->getTimezone($timesheet))); } $newBegin = clone $timesheet->getBegin(); $newBegin->modify($this->configuration->getTimesheetDefaultBeginTime()); $timesheet->setBegin($newBegin); parent::create($timesheet, $request); } }