You are here

public function InvoicePrintBuilder::generateFilename in Commerce Invoice 8.2

Generates a filename for the given invoice.

Parameters

\Drupal\commerce_invoice\Entity\InvoiceInterface $invoice: The invoice.

Return value

string The generated filename.

Overrides InvoicePrintBuilderInterface::generateFilename

1 call to InvoicePrintBuilder::generateFilename()
InvoicePrintBuilder::savePrintable in src/InvoicePrintBuilder.php
Renders the invoice as a printed document and save to disk.

File

src/InvoicePrintBuilder.php, line 91

Class

InvoicePrintBuilder
The print builder service.

Namespace

Drupal\commerce_invoice

Code

public function generateFilename(InvoiceInterface $invoice) {
  $filename = $this->filenameGenerator
    ->generateFilename([
    $invoice,
  ]);
  $filename .= '-' . $invoice
    ->language()
    ->getId() . '-' . str_replace('_', '', $invoice
    ->getState()
    ->getId());

  // Let the filename be altered.
  $event = new InvoiceFilenameEvent($filename, $invoice);
  $this->eventDispatcher
    ->dispatch(InvoiceEvents::INVOICE_FILENAME, $event);
  $filename = $event
    ->getFilename() . '.pdf';
  return $filename;
}