Files
kimai/src/Timesheet/TrackingMode/DurationOnlyMode.php
Kevin Papst 3ff46e06c0 code improvements (#1423)
* removed unused mapping information
* added support for further field types
* fixed changing date objects for begin and end
* added more project fields as invoice variables
* theme update and asset rebuild
2020-01-31 17:07:14 +01:00

60 lines
1.3 KiB
PHP

<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Timesheet\TrackingMode;
use App\Entity\Timesheet;
use Symfony\Component\HttpFoundation\Request;
final class DurationOnlyMode extends AbstractTrackingMode
{
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($this->dateTime->createDateTime());
}
$newBegin = clone $timesheet->getBegin();
$newBegin->modify($this->configuration->getDefaultBeginTime());
$timesheet->setBegin($newBegin);
parent::create($timesheet, $request);
}
}