Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
InvoiceCommentSender.php
Go to the documentation of this file.
1 <?php
7 
16 
21 {
25  protected $addressRenderer;
26 
32  protected $eventManager;
33 
42  public function __construct(
45  \Magento\Sales\Model\Order\Email\SenderBuilderFactory $senderBuilderFactory,
46  \Psr\Log\LoggerInterface $logger,
49  ) {
51  $this->addressRenderer = $addressRenderer;
52  $this->eventManager = $eventManager;
53  }
54 
63  public function send(Invoice $invoice, $notify = true, $comment = '')
64  {
65  $order = $invoice->getOrder();
66  $transport = [
67  'order' => $order,
68  'invoice' => $invoice,
69  'comment' => $comment,
70  'billing' => $order->getBillingAddress(),
71  'store' => $order->getStore(),
72  'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
73  'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
74  ];
75  $transportObject = new DataObject($transport);
76 
80  $this->eventManager->dispatch(
81  'email_invoice_comment_set_template_vars_before',
82  ['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
83  );
84 
85  $this->templateContainer->setTemplateVars($transportObject->getData());
86 
87  return $this->checkAndSend($order, $notify);
88  }
89 }
$order
Definition: order.php:55
__construct(Template $templateContainer, InvoiceCommentIdentity $identityContainer, \Magento\Sales\Model\Order\Email\SenderBuilderFactory $senderBuilderFactory, \Psr\Log\LoggerInterface $logger, Renderer $addressRenderer, ManagerInterface $eventManager)
$invoice
send(Invoice $invoice, $notify=true, $comment='')