add hourly_rate and fixed_rate to timesheet entries (#302)

This commit is contained in:
Kevin Papst
2018-09-05 15:27:39 +02:00
committed by GitHub
parent a636faa4ab
commit 6163f33abf
15 changed files with 219 additions and 9 deletions

View File

@@ -41,6 +41,11 @@ class RateCalculator implements CalculatorInterface
return;
}
if (null !== $record->getFixedRate()) {
$record->setRate($record->getFixedRate());
return;
}
$rate = $this->calculateRate($record);
$factor = $this->getRateFactor($record);
@@ -80,7 +85,11 @@ class RateCalculator implements CalculatorInterface
*/
protected function calculateRate(Timesheet $record)
{
$hourlyRate = (float) $record->getUser()->getPreferenceValue(UserPreference::HOURLY_RATE, 0);
if (null !== $record->getHourlyRate()) {
$hourlyRate = $record->getHourlyRate();
} else {
$hourlyRate = (float)$record->getUser()->getPreferenceValue(UserPreference::HOURLY_RATE, 0);
}
return (float) $hourlyRate * ($record->getDuration() / 3600);
}