added command to create invoices via bash (#1574)

This commit is contained in:
Kevin Papst
2020-03-20 13:14:05 +01:00
committed by GitHub
parent 7b13ea860a
commit b8c5323ece
35 changed files with 1301 additions and 273 deletions

View File

@@ -70,6 +70,10 @@ final class InvoiceModel
* @var InvoiceItemHydrator[]
*/
private $itemHydrator = [];
/**
* @var string
*/
private $invoiceNumber;
public function __construct(InvoiceFormatter $formatter)
{
@@ -103,7 +107,9 @@ final class InvoiceModel
}
/**
* Do not use this method for rendering the invoice, use InvoiceModel::getCalculator()->getEntries() instead.
* Returns the raw data from the model.
*
* Do not use this method for rendering the invoice, use getItems() instead.
*
* @return InvoiceItemInterface[]
*/
@@ -202,6 +208,19 @@ final class InvoiceModel
return $this;
}
public function getInvoiceNumber(): string
{
if (null === $this->generator) {
throw new \Exception('InvoiceModel::getInvoiceNumber() cannot be called before calling setNumberGenerator()');
}
if (null === $this->invoiceNumber) {
$this->invoiceNumber = $this->generator->getInvoiceNumber();
}
return $this->invoiceNumber;
}
public function setNumberGenerator(NumberGeneratorInterface $generator): InvoiceModel
{
$this->generator = $generator;
@@ -210,6 +229,9 @@ final class InvoiceModel
return $this;
}
/**
* @deprecated since 1.9 - will be removed with 2.0 - use getInvoiceNumber() instead
*/
public function getNumberGenerator(): ?NumberGeneratorInterface
{
return $this->generator;