Skip to content

Commit 4866df6

Browse files
author
Oleksii Korshenko
committed
MAGETWO-69482: Make Sales' emails $transport changeable from an observer #9755
- fixed BC issues
1 parent 4a85343 commit 4866df6

File tree

13 files changed

+70
-35
lines changed

13 files changed

+70
-35
lines changed

app/code/Magento/Sales/Model/Order/Creditmemo/Sender/EmailSender.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
/**
1313
* Email notification sender for Creditmemo.
14+
*
15+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
1416
*/
1517
class EmailSender extends Sender implements SenderInterface
1618
{
@@ -107,14 +109,17 @@ public function send(
107109
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
108110
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
109111
];
110-
$transport = new DataObject($transport);
112+
$transportObject = new DataObject($transport);
111113

114+
/**
115+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
116+
*/
112117
$this->eventManager->dispatch(
113118
'email_creditmemo_set_template_vars_before',
114-
['sender' => $this, 'transport' => $transport]
119+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
115120
);
116121

117-
$this->templateContainer->setTemplateVars($transport->getData());
122+
$this->templateContainer->setTemplateVars($transportObject->getData());
118123

119124
if ($this->checkAndSend($order)) {
120125
$creditmemo->setEmailSent(true);

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,17 @@ public function send(Creditmemo $creditmemo, $notify = true, $comment = '')
7272
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
7373
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7474
];
75-
$transport = new DataObject($transport);
75+
$transportObject = new DataObject($transport);
7676

77+
/**
78+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
79+
*/
7780
$this->eventManager->dispatch(
7881
'email_creditmemo_comment_set_template_vars_before',
79-
['sender' => $this, 'transport' => $transport]
82+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
8083
);
8184

82-
$this->templateContainer->setTemplateVars($transport->getData());
85+
$this->templateContainer->setTemplateVars($transportObject->getData());
8386

8487
return $this->checkAndSend($order, $notify);
8588
}

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false)
103103

104104
if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) {
105105
$order = $creditmemo->getOrder();
106-
106+
107107
$transport = [
108108
'order' => $order,
109109
'creditmemo' => $creditmemo,
@@ -114,14 +114,17 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false)
114114
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
115115
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
116116
];
117-
$transport = new DataObject($transport);
117+
$transportObject = new DataObject($transport);
118118

119+
/**
120+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
121+
*/
119122
$this->eventManager->dispatch(
120123
'email_creditmemo_set_template_vars_before',
121-
['sender' => $this, 'transport' => $transport]
124+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
122125
);
123126

124-
$this->templateContainer->setTemplateVars($transport->getData());
127+
$this->templateContainer->setTemplateVars($transportObject->getData());
125128

126129
if ($this->checkAndSend($order)) {
127130
$creditmemo->setEmailSent(true);

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,17 @@ public function send(Invoice $invoice, $notify = true, $comment = '')
7272
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
7373
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7474
];
75-
$transport = new DataObject($transport);
75+
$transportObject = new DataObject($transport);
7676

77+
/**
78+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
79+
*/
7780
$this->eventManager->dispatch(
7881
'email_invoice_comment_set_template_vars_before',
79-
['sender' => $this, 'transport' => $transport]
82+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
8083
);
8184

82-
$this->templateContainer->setTemplateVars($transport->getData());
85+
$this->templateContainer->setTemplateVars($transportObject->getData());
8386

8487
return $this->checkAndSend($order, $notify);
8588
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,17 @@ public function send(Invoice $invoice, $forceSyncMode = false)
114114
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
115115
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
116116
];
117-
$transport = new DataObject($transport);
117+
$transportObject = new DataObject($transport);
118118

119+
/**
120+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
121+
*/
119122
$this->eventManager->dispatch(
120123
'email_invoice_set_template_vars_before',
121-
['sender' => $this, 'transport' => $transport]
124+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
122125
);
123126

124-
$this->templateContainer->setTemplateVars($transport->getData());
127+
$this->templateContainer->setTemplateVars($transportObject->getData());
125128

126129
if ($this->checkAndSend($order)) {
127130
$invoice->setEmailSent(true);

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,17 @@ public function send(Order $order, $notify = true, $comment = '')
6969
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
7070
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7171
];
72-
$transport = new DataObject($transport);
72+
$transportObject = new DataObject($transport);
7373

74+
/**
75+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
76+
*/
7477
$this->eventManager->dispatch(
7578
'email_order_comment_set_template_vars_before',
76-
['sender' => $this, 'transport' => $transport]
79+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
7780
);
7881

79-
$this->templateContainer->setTemplateVars($transport->getData());
82+
$this->templateContainer->setTemplateVars($transportObject->getData());
8083

8184
return $this->checkAndSend($order, $notify);
8285
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,17 @@ public function send(Shipment $shipment, $notify = true, $comment = '')
7272
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
7373
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7474
];
75-
$transport = new DataObject($transport);
75+
$transportObject = new DataObject($transport);
7676

77+
/**
78+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
79+
*/
7780
$this->eventManager->dispatch(
7881
'email_shipment_comment_set_template_vars_before',
79-
['sender' => $this, 'transport' => $transport]
82+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
8083
);
8184

82-
$this->templateContainer->setTemplateVars($transport->getData());
85+
$this->templateContainer->setTemplateVars($transportObject->getData());
8386

8487
return $this->checkAndSend($order, $notify);
8588
}

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public function send(Shipment $shipment, $forceSyncMode = false)
103103

104104
if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) {
105105
$order = $shipment->getOrder();
106-
106+
107107
$transport = [
108108
'order' => $order,
109109
'shipment' => $shipment,
@@ -114,14 +114,17 @@ public function send(Shipment $shipment, $forceSyncMode = false)
114114
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
115115
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
116116
];
117-
$transport = new DataObject($transport);
117+
$transportObject = new DataObject($transport);
118118

119+
/**
120+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
121+
*/
119122
$this->eventManager->dispatch(
120123
'email_shipment_set_template_vars_before',
121-
['sender' => $this, 'transport' => $transport]
124+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
122125
);
123126

124-
$this->templateContainer->setTemplateVars($transport->getData());
127+
$this->templateContainer->setTemplateVars($transportObject->getData());
125128

126129
if ($this->checkAndSend($order)) {
127130
$shipment->setEmailSent(true);

app/code/Magento/Sales/Model/Order/Invoice/Sender/EmailSender.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,17 @@ public function send(
107107
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
108108
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
109109
];
110-
$transport = new DataObject($transport);
110+
$transportObject = new DataObject($transport);
111111

112+
/**
113+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
114+
*/
112115
$this->eventManager->dispatch(
113116
'email_invoice_set_template_vars_before',
114-
['sender' => $this, 'transport' => $transport]
117+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
115118
);
116119

117-
$this->templateContainer->setTemplateVars($transport->getData());
120+
$this->templateContainer->setTemplateVars($transportObject->getData());
118121

119122
if ($this->checkAndSend($order)) {
120123
$invoice->setEmailSent(true);

app/code/Magento/Sales/Model/Order/Shipment/Sender/EmailSender.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,17 @@ public function send(
107107
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
108108
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
109109
];
110-
$transport = new DataObject($transport);
110+
$transportObject = new DataObject($transport);
111111

112+
/**
113+
* Event argument `transport` is @deprecated. Use `transportObject` instead.
114+
*/
112115
$this->eventManager->dispatch(
113116
'email_shipment_set_template_vars_before',
114-
['sender' => $this, 'transport' => $transport]
117+
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
115118
);
116119

117-
$this->templateContainer->setTemplateVars($transport->getData());
120+
$this->templateContainer->setTemplateVars($transportObject->getData());
118121

119122
if ($this->checkAndSend($order)) {
120123
$shipment->setEmailSent(true);

0 commit comments

Comments
 (0)