Skip to content

Commit 1323017

Browse files
committed
Merge commit 'refs/pull/1202/head' of https://github.com/magento/magento2 into prs
2 parents d2c39ef + c93b2ed commit 1323017

17 files changed

+268
-90
lines changed

app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoCommentSender.php

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Magento\Sales\Model\Order\Email\Container\Template;
1212
use Magento\Sales\Model\Order\Email\NotifySender;
1313
use Magento\Sales\Model\Order\Address\Renderer;
14+
use Magento\Framework\Event\ManagerInterface;
1415

1516
/**
1617
* Class CreditmemoCommentSender
@@ -22,22 +23,32 @@ class CreditmemoCommentSender extends NotifySender
2223
*/
2324
protected $addressRenderer;
2425

26+
/**
27+
* Application Event Dispatcher
28+
*
29+
* @var ManagerInterface
30+
*/
31+
protected $eventManager;
32+
2533
/**
2634
* @param Template $templateContainer
2735
* @param CreditmemoCommentIdentity $identityContainer
2836
* @param Order\Email\SenderBuilderFactory $senderBuilderFactory
2937
* @param \Psr\Log\LoggerInterface $logger
3038
* @param Renderer $addressRenderer
39+
* @param ManagerInterface $eventManager
3140
*/
3241
public function __construct(
3342
Template $templateContainer,
3443
CreditmemoCommentIdentity $identityContainer,
3544
\Magento\Sales\Model\Order\Email\SenderBuilderFactory $senderBuilderFactory,
3645
\Psr\Log\LoggerInterface $logger,
37-
Renderer $addressRenderer
46+
Renderer $addressRenderer,
47+
ManagerInterface $eventManager
3848
) {
3949
parent::__construct($templateContainer, $identityContainer, $senderBuilderFactory, $logger);
4050
$this->addressRenderer = $addressRenderer;
51+
$this->eventManager = $eventManager;
4152
}
4253

4354
/**
@@ -57,18 +68,27 @@ public function send(Creditmemo $creditmemo, $notify = true, $comment = '')
5768
$formattedShippingAddress = '';
5869
}
5970
$formattedBillingAddress = $this->addressRenderer->format($order->getBillingAddress(), 'html');
60-
$this->templateContainer->setTemplateVars(
61-
[
62-
'order' => $order,
63-
'creditmemo' => $creditmemo,
64-
'comment' => $comment,
65-
'billing' => $order->getBillingAddress(),
66-
'store' => $order->getStore(),
67-
'formattedShippingAddress' => $formattedShippingAddress,
68-
'formattedBillingAddress' => $formattedBillingAddress,
71+
72+
$transport = new \Magento\Framework\Object(
73+
['template_vars' =>
74+
[
75+
'order' => $order,
76+
'creditmemo' => $creditmemo,
77+
'comment' => $comment,
78+
'billing' => $order->getBillingAddress(),
79+
'store' => $order->getStore(),
80+
'formattedShippingAddress' => $formattedShippingAddress,
81+
'formattedBillingAddress' => $formattedBillingAddress,
82+
]
6983
]
7084
);
7185

86+
$this->eventManager->dispatch(
87+
'email_creditmemo_comment_set_template_vars_before', array('sender' => $this, 'transport' => $transport)
88+
);
89+
90+
$this->templateContainer->setTemplateVars($transport->getTemplateVars());
91+
7292
return $this->checkAndSend($order, $notify);
7393
}
7494
}

app/code/Magento/Sales/Model/Order/Email/Sender/CreditmemoSender.php

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Magento\Sales\Model\Order\Email\Sender;
1414
use Magento\Sales\Model\Resource\Order\Creditmemo as CreditmemoResource;
1515
use Magento\Sales\Model\Order\Address\Renderer;
16+
use Magento\Framework\Event\ManagerInterface;
1617

1718
/**
1819
* Class CreditmemoSender
@@ -43,6 +44,13 @@ class CreditmemoSender extends Sender
4344
*/
4445
protected $addressRenderer;
4546

47+
/**
48+
* Application Event Dispatcher
49+
*
50+
* @var ManagerInterface
51+
*/
52+
protected $eventManager;
53+
4654
/**
4755
* @param Template $templateContainer
4856
* @param CreditmemoIdentity $identityContainer
@@ -52,6 +60,7 @@ class CreditmemoSender extends Sender
5260
* @param CreditmemoResource $creditmemoResource
5361
* @param \Magento\Framework\App\Config\ScopeConfigInterface $globalConfig
5462
* @param Renderer $addressRenderer
63+
* @param ManagerInterface $eventManager
5564
*/
5665
public function __construct(
5766
Template $templateContainer,
@@ -61,13 +70,15 @@ public function __construct(
6170
PaymentHelper $paymentHelper,
6271
CreditmemoResource $creditmemoResource,
6372
\Magento\Framework\App\Config\ScopeConfigInterface $globalConfig,
64-
Renderer $addressRenderer
73+
Renderer $addressRenderer,
74+
ManagerInterface $eventManager
6575
) {
6676
parent::__construct($templateContainer, $identityContainer, $senderBuilderFactory, $logger);
6777
$this->paymentHelper = $paymentHelper;
6878
$this->creditmemoResource = $creditmemoResource;
6979
$this->globalConfig = $globalConfig;
7080
$this->addressRenderer = $addressRenderer;
81+
$this->eventManager = $eventManager;
7182
}
7283

7384
/**
@@ -100,19 +111,28 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false)
100111

101112
$formattedBillingAddress = $this->addressRenderer->format($order->getBillingAddress(), 'html');
102113

103-
$this->templateContainer->setTemplateVars(
104-
[
105-
'order' => $order,
106-
'creditmemo' => $creditmemo,
107-
'comment' => $creditmemo->getCustomerNoteNotify() ? $creditmemo->getCustomerNote() : '',
108-
'billing' => $order->getBillingAddress(),
109-
'payment_html' => $this->getPaymentHtml($order),
110-
'store' => $order->getStore(),
111-
'formattedShippingAddress' => $formattedShippingAddress,
112-
'formattedBillingAddress' => $formattedBillingAddress,
114+
$transport = new \Magento\Framework\Object(
115+
['template_vars' =>
116+
[
117+
'order' => $order,
118+
'creditmemo' => $creditmemo,
119+
'comment' => $creditmemo->getCustomerNoteNotify()
120+
? $creditmemo->getCustomerNote() : '',
121+
'billing' => $order->getBillingAddress(),
122+
'payment_html' => $this->getPaymentHtml($order),
123+
'store' => $order->getStore(),
124+
'formattedShippingAddress' => $formattedShippingAddress,
125+
'formattedBillingAddress' => $formattedBillingAddress
126+
]
113127
]
114128
);
115129

130+
$this->eventManager->dispatch(
131+
'email_creditmemo_set_template_vars_before', array('sender' => $this, 'transport' => $transport)
132+
);
133+
134+
$this->templateContainer->setTemplateVars($transport->getTemplateVars());
135+
116136
if ($this->checkAndSend($order)) {
117137
$creditmemo->setEmailSent(true);
118138

app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceCommentSender.php

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Magento\Sales\Model\Order\Email\NotifySender;
1212
use Magento\Sales\Model\Order\Invoice;
1313
use Magento\Sales\Model\Order\Address\Renderer;
14+
use Magento\Framework\Event\ManagerInterface;
1415

1516
/**
1617
* Class InvoiceCommentSender
@@ -22,22 +23,32 @@ class InvoiceCommentSender extends NotifySender
2223
*/
2324
protected $addressRenderer;
2425

26+
/**
27+
* Application Event Dispatcher
28+
*
29+
* @var ManagerInterface
30+
*/
31+
protected $eventManager;
32+
2533
/**
2634
* @param Template $templateContainer
2735
* @param InvoiceCommentIdentity $identityContainer
2836
* @param Order\Email\SenderBuilderFactory $senderBuilderFactory
2937
* @param \Psr\Log\LoggerInterface $logger
3038
* @param Renderer $addressRenderer
39+
* @param ManagerInterface $eventManager
3140
*/
3241
public function __construct(
3342
Template $templateContainer,
3443
InvoiceCommentIdentity $identityContainer,
3544
\Magento\Sales\Model\Order\Email\SenderBuilderFactory $senderBuilderFactory,
3645
\Psr\Log\LoggerInterface $logger,
37-
Renderer $addressRenderer
46+
Renderer $addressRenderer,
47+
ManagerInterface $eventManager
3848
) {
3949
parent::__construct($templateContainer, $identityContainer, $senderBuilderFactory, $logger);
4050
$this->addressRenderer = $addressRenderer;
51+
$this->eventManager = $eventManager;
4152
}
4253

4354
/**
@@ -57,17 +68,27 @@ public function send(Invoice $invoice, $notify = true, $comment = '')
5768
$formattedShippingAddress = '';
5869
}
5970
$formattedBillingAddress = $this->addressRenderer->format($order->getBillingAddress(), 'html');
60-
$this->templateContainer->setTemplateVars(
61-
[
62-
'order' => $order,
63-
'invoice' => $invoice,
64-
'comment' => $comment,
65-
'billing' => $order->getBillingAddress(),
66-
'store' => $order->getStore(),
67-
'formattedShippingAddress' => $formattedShippingAddress,
68-
'formattedBillingAddress' => $formattedBillingAddress,
71+
72+
$transport = new \Magento\Framework\Object(
73+
['template_vars' =>
74+
[
75+
'order' => $order,
76+
'invoice' => $invoice,
77+
'comment' => $comment,
78+
'billing' => $order->getBillingAddress(),
79+
'store' => $order->getStore(),
80+
'formattedShippingAddress' => $formattedShippingAddress,
81+
'formattedBillingAddress' => $formattedBillingAddress,
82+
]
6983
]
7084
);
85+
86+
$this->eventManager->dispatch(
87+
'email_invoice_comment_set_template_vars_before', array('sender' => $this, 'transport' => $transport)
88+
);
89+
90+
$this->templateContainer->setTemplateVars($transport->getTemplateVars());
91+
7192
return $this->checkAndSend($order, $notify);
7293
}
7394
}

app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Magento\Sales\Model\Order\Invoice;
1414
use Magento\Sales\Model\Resource\Order\Invoice as InvoiceResource;
1515
use Magento\Sales\Model\Order\Address\Renderer;
16+
use Magento\Framework\Event\ManagerInterface;
1617

1718
/**
1819
* Class InvoiceSender
@@ -43,6 +44,13 @@ class InvoiceSender extends Sender
4344
*/
4445
protected $addressRenderer;
4546

47+
/**
48+
* Application Event Dispatcher
49+
*
50+
* @var ManagerInterface
51+
*/
52+
protected $eventManager;
53+
4654
/**
4755
* @param Template $templateContainer
4856
* @param InvoiceIdentity $identityContainer
@@ -52,6 +60,7 @@ class InvoiceSender extends Sender
5260
* @param InvoiceResource $invoiceResource
5361
* @param \Magento\Framework\App\Config\ScopeConfigInterface $globalConfig
5462
* @param Renderer $addressRenderer
63+
* @param ManagerInterface $eventManager
5564
*/
5665
public function __construct(
5766
Template $templateContainer,
@@ -61,13 +70,15 @@ public function __construct(
6170
PaymentHelper $paymentHelper,
6271
InvoiceResource $invoiceResource,
6372
\Magento\Framework\App\Config\ScopeConfigInterface $globalConfig,
64-
Renderer $addressRenderer
73+
Renderer $addressRenderer,
74+
ManagerInterface $eventManager
6575
) {
6676
parent::__construct($templateContainer, $identityContainer, $senderBuilderFactory, $logger);
6777
$this->paymentHelper = $paymentHelper;
6878
$this->invoiceResource = $invoiceResource;
6979
$this->globalConfig = $globalConfig;
7080
$this->addressRenderer = $addressRenderer;
81+
$this->eventManager = $eventManager;
7182
}
7283

7384
/**
@@ -98,20 +109,29 @@ public function send(Invoice $invoice, $forceSyncMode = false)
98109
$formattedShippingAddress = '';
99110
}
100111
$formattedBillingAddress = $this->addressRenderer->format($order->getBillingAddress(), 'html');
101-
102-
$this->templateContainer->setTemplateVars(
103-
[
104-
'order' => $order,
105-
'invoice' => $invoice,
106-
'comment' => $invoice->getCustomerNoteNotify() ? $invoice->getCustomerNote() : '',
107-
'billing' => $order->getBillingAddress(),
108-
'payment_html' => $this->getPaymentHtml($order),
109-
'store' => $order->getStore(),
110-
'formattedShippingAddress' => $formattedShippingAddress,
111-
'formattedBillingAddress' => $formattedBillingAddress
112+
113+
$transport = new \Magento\Framework\Object(
114+
['template_vars' =>
115+
[
116+
'order' => $order,
117+
'invoice' => $invoice,
118+
'comment' => $invoice->getCustomerNoteNotify() ? $invoice->getCustomerNote()
119+
: '',
120+
'billing' => $order->getBillingAddress(),
121+
'payment_html' => $this->getPaymentHtml($order),
122+
'store' => $order->getStore(),
123+
'formattedShippingAddress' => $formattedShippingAddress,
124+
'formattedBillingAddress' => $formattedBillingAddress
125+
]
112126
]
113127
);
114128

129+
$this->eventManager->dispatch(
130+
'email_invoice_set_template_vars_before', array('sender' => $this, 'transport' => $transport)
131+
);
132+
133+
$this->templateContainer->setTemplateVars($transport->getTemplateVars());
134+
115135
if ($this->checkAndSend($order)) {
116136
$invoice->setEmailSent(true);
117137

0 commit comments

Comments
 (0)