Skip to content

Commit 4a85343

Browse files
author
Oleksii Korshenko
committed
MAGETWO-69482: Make Sales' emails changeable from an observer #9755
- Merge Pull Request #9755 from EObukhovsky/magento2:sales_email_transport_changeable_from_observer - Merged commits: 1. c12bdea 2. a42284b 3. c32d10c
2 parents 071c521 + c32d10c commit 4a85343

File tree

14 files changed

+38
-14
lines changed

14 files changed

+38
-14
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use Magento\Sales\Model\Order\Email\Sender;
99
use Magento\Sales\Model\Order\Creditmemo\SenderInterface;
10+
use Magento\Framework\DataObject;
1011

1112
/**
1213
* Email notification sender for Creditmemo.
@@ -106,13 +107,14 @@ public function send(
106107
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
107108
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
108109
];
110+
$transport = new DataObject($transport);
109111

110112
$this->eventManager->dispatch(
111113
'email_creditmemo_set_template_vars_before',
112114
['sender' => $this, 'transport' => $transport]
113115
);
114116

115-
$this->templateContainer->setTemplateVars($transport);
117+
$this->templateContainer->setTemplateVars($transport->getData());
116118

117119
if ($this->checkAndSend($order)) {
118120
$creditmemo->setEmailSent(true);

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Magento\Sales\Model\Order\Email\NotifySender;
1313
use Magento\Sales\Model\Order\Address\Renderer;
1414
use Magento\Framework\Event\ManagerInterface;
15+
use Magento\Framework\DataObject;
1516

1617
/**
1718
* Class CreditmemoCommentSender
@@ -71,13 +72,14 @@ public function send(Creditmemo $creditmemo, $notify = true, $comment = '')
7172
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
7273
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7374
];
75+
$transport = new DataObject($transport);
7476

7577
$this->eventManager->dispatch(
7678
'email_creditmemo_comment_set_template_vars_before',
7779
['sender' => $this, 'transport' => $transport]
7880
);
7981

80-
$this->templateContainer->setTemplateVars($transport);
82+
$this->templateContainer->setTemplateVars($transport->getData());
8183

8284
return $this->checkAndSend($order, $notify);
8385
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Magento\Sales\Model\ResourceModel\Order\Creditmemo as CreditmemoResource;
1515
use Magento\Sales\Model\Order\Address\Renderer;
1616
use Magento\Framework\Event\ManagerInterface;
17+
use Magento\Framework\DataObject;
1718

1819
/**
1920
* Class CreditmemoSender
@@ -113,13 +114,14 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false)
113114
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
114115
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
115116
];
117+
$transport = new DataObject($transport);
116118

117119
$this->eventManager->dispatch(
118120
'email_creditmemo_set_template_vars_before',
119121
['sender' => $this, 'transport' => $transport]
120122
);
121123

122-
$this->templateContainer->setTemplateVars($transport);
124+
$this->templateContainer->setTemplateVars($transport->getData());
123125

124126
if ($this->checkAndSend($order)) {
125127
$creditmemo->setEmailSent(true);

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Magento\Sales\Model\Order\Invoice;
1313
use Magento\Sales\Model\Order\Address\Renderer;
1414
use Magento\Framework\Event\ManagerInterface;
15+
use Magento\Framework\DataObject;
1516

1617
/**
1718
* Class InvoiceCommentSender
@@ -71,13 +72,14 @@ public function send(Invoice $invoice, $notify = true, $comment = '')
7172
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
7273
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7374
];
75+
$transport = new DataObject($transport);
7476

7577
$this->eventManager->dispatch(
7678
'email_invoice_comment_set_template_vars_before',
7779
['sender' => $this, 'transport' => $transport]
7880
);
7981

80-
$this->templateContainer->setTemplateVars($transport);
82+
$this->templateContainer->setTemplateVars($transport->getData());
8183

8284
return $this->checkAndSend($order, $notify);
8385
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Magento\Sales\Model\ResourceModel\Order\Invoice as InvoiceResource;
1515
use Magento\Sales\Model\Order\Address\Renderer;
1616
use Magento\Framework\Event\ManagerInterface;
17+
use Magento\Framework\DataObject;
1718

1819
/**
1920
* Class InvoiceSender
@@ -113,13 +114,14 @@ public function send(Invoice $invoice, $forceSyncMode = false)
113114
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
114115
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
115116
];
117+
$transport = new DataObject($transport);
116118

117119
$this->eventManager->dispatch(
118120
'email_invoice_set_template_vars_before',
119121
['sender' => $this, 'transport' => $transport]
120122
);
121123

122-
$this->templateContainer->setTemplateVars($transport);
124+
$this->templateContainer->setTemplateVars($transport->getData());
123125

124126
if ($this->checkAndSend($order)) {
125127
$invoice->setEmailSent(true);

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

Lines changed: 3 additions & 1 deletion
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\Address\Renderer;
1313
use Magento\Framework\Event\ManagerInterface;
14+
use Magento\Framework\DataObject;
1415

1516
/**
1617
* Class OrderCommentSender
@@ -68,13 +69,14 @@ public function send(Order $order, $notify = true, $comment = '')
6869
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
6970
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7071
];
72+
$transport = new DataObject($transport);
7173

7274
$this->eventManager->dispatch(
7375
'email_order_comment_set_template_vars_before',
7476
['sender' => $this, 'transport' => $transport]
7577
);
7678

77-
$this->templateContainer->setTemplateVars($transport);
79+
$this->templateContainer->setTemplateVars($transport->getData());
7880

7981
return $this->checkAndSend($order, $notify);
8082
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Magento\Sales\Model\ResourceModel\Order as OrderResource;
1414
use Magento\Sales\Model\Order\Address\Renderer;
1515
use Magento\Framework\Event\ManagerInterface;
16+
use Magento\Framework\DataObject;
1617

1718
/**
1819
* Class OrderSender
@@ -130,7 +131,7 @@ protected function prepareTemplate(Order $order)
130131
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
131132
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
132133
];
133-
$transport = new \Magento\Framework\DataObject($transport);
134+
$transport = new DataObject($transport);
134135

135136
$this->eventManager->dispatch(
136137
'email_order_set_template_vars_before',

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Magento\Sales\Model\Order\Shipment;
1313
use Magento\Sales\Model\Order\Address\Renderer;
1414
use Magento\Framework\Event\ManagerInterface;
15+
use Magento\Framework\DataObject;
1516

1617
/**
1718
* Class ShipmentCommentSender
@@ -71,13 +72,14 @@ public function send(Shipment $shipment, $notify = true, $comment = '')
7172
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
7273
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
7374
];
75+
$transport = new DataObject($transport);
7476

7577
$this->eventManager->dispatch(
7678
'email_shipment_comment_set_template_vars_before',
7779
['sender' => $this, 'transport' => $transport]
7880
);
7981

80-
$this->templateContainer->setTemplateVars($transport);
82+
$this->templateContainer->setTemplateVars($transport->getData());
8183

8284
return $this->checkAndSend($order, $notify);
8385
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Magento\Sales\Model\ResourceModel\Order\Shipment as ShipmentResource;
1515
use Magento\Sales\Model\Order\Address\Renderer;
1616
use Magento\Framework\Event\ManagerInterface;
17+
use Magento\Framework\DataObject;
1718

1819
/**
1920
* Class ShipmentSender
@@ -113,13 +114,14 @@ public function send(Shipment $shipment, $forceSyncMode = false)
113114
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
114115
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
115116
];
117+
$transport = new DataObject($transport);
116118

117119
$this->eventManager->dispatch(
118120
'email_shipment_set_template_vars_before',
119121
['sender' => $this, 'transport' => $transport]
120122
);
121123

122-
$this->templateContainer->setTemplateVars($transport);
124+
$this->templateContainer->setTemplateVars($transport->getData());
123125

124126
if ($this->checkAndSend($order)) {
125127
$shipment->setEmailSent(true);

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use Magento\Sales\Model\Order\Email\Sender;
99
use Magento\Sales\Model\Order\Invoice\SenderInterface;
10+
use Magento\Framework\DataObject;
1011

1112
/**
1213
* Email notification sender for Invoice.
@@ -106,13 +107,14 @@ public function send(
106107
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
107108
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
108109
];
110+
$transport = new DataObject($transport);
109111

110112
$this->eventManager->dispatch(
111113
'email_invoice_set_template_vars_before',
112114
['sender' => $this, 'transport' => $transport]
113115
);
114116

115-
$this->templateContainer->setTemplateVars($transport);
117+
$this->templateContainer->setTemplateVars($transport->getData());
116118

117119
if ($this->checkAndSend($order)) {
118120
$invoice->setEmailSent(true);

0 commit comments

Comments
 (0)