sort invoice items by date before passing to template (#4495)

This commit is contained in:
Kevin Papst
2023-12-17 16:50:47 +01:00
committed by GitHub
parent 5f4b6d3cfa
commit 2edcbcca50
14 changed files with 113 additions and 66 deletions

View File

@@ -21,6 +21,19 @@ abstract class AbstractCalculator
*/
abstract public function getEntries(): array;
/**
* @param array<InvoiceItem> $items
* @return array<InvoiceItem>
*/
protected function sortEntries(array $items): array
{
usort($items, function (InvoiceItem $item1, InvoiceItem $item2) {
return $item1->getBegin() <=> $item2->getBegin();
});
return $items;
}
abstract public function getId(): string;
public function setModel(InvoiceModel $model): void

View File

@@ -77,7 +77,7 @@ abstract class AbstractSumInvoiceCalculator extends AbstractMergedCalculator imp
$this->mergeSumInvoiceItem($invoiceItem, $entry);
}
return array_values($invoiceItems);
return $this->sortEntries(array_values($invoiceItems));
}
/**

View File

@@ -39,7 +39,7 @@ final class DefaultCalculator extends AbstractMergedCalculator implements Calcul
$entries[] = $item;
}
return $entries;
return $this->sortEntries($entries);
}
public function getId(): string