bugfix for duration_only mode #137 (#142)

* replaced durationForEntry with duration filter
* fixed duration problem - fixes #137
This commit is contained in:
Kevin Papst
2018-06-02 19:39:03 +02:00
committed by GitHub
parent 1c0f8cdad1
commit 9d9860e495
10 changed files with 20 additions and 35 deletions

View File

@@ -46,7 +46,6 @@ class Extensions extends \Twig_Extension
{
return [
new TwigFilter('duration', [$this, 'duration']),
new TwigFilter('durationForEntry', [$this, 'durationForEntry']),
new TwigFilter('money', [$this, 'money']),
new TwigFilter('currency', [$this, 'currency']),
new TwigFilter('country', [$this, 'country']),
@@ -63,27 +62,22 @@ class Extensions extends \Twig_Extension
];
}
/**
* Returns the formatted duration for a Timesheet entry.
*
* @param Timesheet $entry
* @param bool $includeSeconds
* @return string
*/
public function durationForEntry(Timesheet $entry, $includeSeconds = false)
{
return $this->duration($entry->getDuration(), $includeSeconds);
}
/**
* Transforms seconds into a duration string.
*
* @param $seconds
* @param int|Timesheet $duration
* @param bool $includeSeconds
* @return string
*/
public function duration($seconds, $includeSeconds = false)
public function duration($duration, $includeSeconds = false)
{
$seconds = $duration;
if ($duration instanceof Timesheet) {
$seconds = $duration->getDuration();
if ($duration->getEnd() === null) {
$seconds = time() - $duration->getBegin()->getTimestamp();
}
}
return $this->durationFormatter->format($seconds, $includeSeconds) . ' h';
}