fix invoice budget calculation (#3024)

This commit is contained in:
Kevin Papst
2021-12-15 17:56:18 +01:00
committed by GitHub
parent 358959522d
commit 3621b8c27c
7 changed files with 100 additions and 52 deletions

View File

@@ -0,0 +1,38 @@
<?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\Invoice\Hydrator;
use App\Invoice\InvoiceModel;
use App\Model\BudgetStatisticModel;
trait BudgetHydratorTrait
{
protected function getBudgetValues(string $prefix, BudgetStatisticModel $statistic, InvoiceModel $model): array
{
$formatter = $model->getFormatter();
$currency = $model->getCurrency();
$budgetOpen = $statistic->getBudgetOpenRelative();
$budgetTimeOpen = $statistic->getTimeBudgetOpenRelative();
if ($model->getTemplate()->isDecimalDuration()) {
$budgetOpenDuration = $formatter->getFormattedDecimalDuration($budgetTimeOpen);
} else {
$budgetOpenDuration = $formatter->getFormattedDuration($budgetTimeOpen);
}
return [
$prefix . 'budget_open' => $formatter->getFormattedMoney($budgetOpen, $currency),
$prefix . 'budget_open_plain' => $budgetOpen,
$prefix . 'time_budget_open' => $budgetOpenDuration,
$prefix . 'time_budget_open_plain' => $budgetTimeOpen,
];
}
}