Skip to content

Commit

Permalink
Merge pull request #1769 from magento-engcom/2.2-develop-prs
Browse files Browse the repository at this point in the history
Public Pull Requests

#1770 9515: South Korea Zip Code Validation incorrect by @RomaKis
#12132 10210: Transport variable can not be altered in email_invoice_set_template_vars_before Event (backport MAGETWO-69482 to 2.2) by @RomaKis

Fixed Public Issues

#9515 South Korea Zip Code Validation incorrect
#10210 Transport variable can not be altered in email_invoice_set_template_vars_before Event
  • Loading branch information
Oleksii Korshenko authored Nov 27, 2017
2 parents 9c3d257 + 9e5c010 commit 3d628f8
Show file tree
Hide file tree
Showing 15 changed files with 92 additions and 30 deletions.
2 changes: 1 addition & 1 deletion app/code/Magento/Directory/etc/zip_codes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@
</zip>
<zip countryCode="KR">
<codes>
<code id="pattern_1" active="true" example="123-456">^[0-9]{3}-[0-9]{3}$</code>
<code id="pattern_1" active="true" example="12345">^[0-9]{5}$</code>
</codes>
</zip>
<zip countryCode="KG">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@

use Magento\Sales\Model\Order\Email\Sender;
use Magento\Sales\Model\Order\Creditmemo\SenderInterface;
use Magento\Framework\DataObject;

/**
* Email notification sender for Creditmemo.
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class EmailSender extends Sender implements SenderInterface
{
Expand Down Expand Up @@ -106,13 +109,17 @@ public function send(
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_creditmemo_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

if ($this->checkAndSend($order)) {
$creditmemo->setEmailSent(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use Magento\Sales\Model\Order\Email\NotifySender;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Framework\Event\ManagerInterface;
use Magento\Framework\DataObject;

/**
* Class CreditmemoCommentSender
Expand Down Expand Up @@ -71,13 +72,17 @@ public function send(Creditmemo $creditmemo, $notify = true, $comment = '')
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_creditmemo_comment_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

return $this->checkAndSend($order, $notify);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use Magento\Sales\Model\ResourceModel\Order\Creditmemo as CreditmemoResource;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Framework\Event\ManagerInterface;
use Magento\Framework\DataObject;

/**
* Class CreditmemoSender
Expand Down Expand Up @@ -102,7 +103,7 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false)

if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) {
$order = $creditmemo->getOrder();

$transport = [
'order' => $order,
'creditmemo' => $creditmemo,
Expand All @@ -113,13 +114,17 @@ public function send(Creditmemo $creditmemo, $forceSyncMode = false)
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_creditmemo_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

if ($this->checkAndSend($order)) {
$creditmemo->setEmailSent(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use Magento\Sales\Model\Order\Invoice;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Framework\Event\ManagerInterface;
use Magento\Framework\DataObject;

/**
* Class InvoiceCommentSender
Expand Down Expand Up @@ -71,13 +72,17 @@ public function send(Invoice $invoice, $notify = true, $comment = '')
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_invoice_comment_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

return $this->checkAndSend($order, $notify);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use Magento\Sales\Model\ResourceModel\Order\Invoice as InvoiceResource;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Framework\Event\ManagerInterface;
use Magento\Framework\DataObject;

/**
* Class InvoiceSender
Expand Down Expand Up @@ -113,13 +114,17 @@ public function send(Invoice $invoice, $forceSyncMode = false)
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_invoice_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

if ($this->checkAndSend($order)) {
$invoice->setEmailSent(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
use Magento\Sales\Model\Order\Email\NotifySender;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Framework\Event\ManagerInterface;
use Magento\Framework\DataObject;

/**
* Class OrderCommentSender
Expand Down Expand Up @@ -68,13 +69,17 @@ public function send(Order $order, $notify = true, $comment = '')
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_order_comment_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

return $this->checkAndSend($order, $notify);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use Magento\Sales\Model\Order\Shipment;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Framework\Event\ManagerInterface;
use Magento\Framework\DataObject;

/**
* Class ShipmentCommentSender
Expand Down Expand Up @@ -71,13 +72,17 @@ public function send(Shipment $shipment, $notify = true, $comment = '')
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_shipment_comment_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

return $this->checkAndSend($order, $notify);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use Magento\Sales\Model\ResourceModel\Order\Shipment as ShipmentResource;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Framework\Event\ManagerInterface;
use Magento\Framework\DataObject;

/**
* Class ShipmentSender
Expand Down Expand Up @@ -102,7 +103,7 @@ public function send(Shipment $shipment, $forceSyncMode = false)

if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) {
$order = $shipment->getOrder();

$transport = [
'order' => $order,
'shipment' => $shipment,
Expand All @@ -113,13 +114,17 @@ public function send(Shipment $shipment, $forceSyncMode = false)
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_shipment_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

if ($this->checkAndSend($order)) {
$shipment->setEmailSent(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@

use Magento\Sales\Model\Order\Email\Sender;
use Magento\Sales\Model\Order\Invoice\SenderInterface;
use Magento\Framework\DataObject;

/**
* Email notification sender for Invoice.
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class EmailSender extends Sender implements SenderInterface
{
Expand Down Expand Up @@ -106,13 +109,17 @@ public function send(
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order),
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_invoice_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

if ($this->checkAndSend($order)) {
$invoice->setEmailSent(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@

use Magento\Sales\Model\Order\Email\Sender;
use Magento\Sales\Model\Order\Shipment\SenderInterface;
use Magento\Framework\DataObject;

/**
* Email notification sender for Shipment.
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class EmailSender extends Sender implements SenderInterface
{
Expand Down Expand Up @@ -106,13 +109,17 @@ public function send(
'formattedShippingAddress' => $this->getFormattedShippingAddress($order),
'formattedBillingAddress' => $this->getFormattedBillingAddress($order)
];
$transportObject = new DataObject($transport);

/**
* Event argument `transport` is @deprecated. Use `transportObject` instead.
*/
$this->eventManager->dispatch(
'email_shipment_set_template_vars_before',
['sender' => $this, 'transport' => $transport]
['sender' => $this, 'transport' => $transportObject->getData(), 'transportObject' => $transportObject]
);

$this->templateContainer->setTemplateVars($transport);
$this->templateContainer->setTemplateVars($transportObject->getData());

if ($this->checkAndSend($order)) {
$shipment->setEmailSent(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,20 +262,22 @@ public function testSend($configValue, $forceSyncMode, $isComment, $emailSending
'formattedShippingAddress' => 'Formatted address',
'formattedBillingAddress' => 'Formatted address',
];
$transport = new \Magento\Framework\DataObject($transport);

$this->eventManagerMock->expects($this->once())
->method('dispatch')
->with(
'email_creditmemo_set_template_vars_before',
[
'sender' => $this->subject,
'transport' => $transport,
'transport' => $transport->getData(),
'transportObject' => $transport
]
);

$this->templateContainerMock->expects($this->once())
->method('setTemplateVars')
->with($transport);
->with($transport->getData());

$this->identityContainerMock->expects($this->once())
->method('isEnabled')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,20 +260,22 @@ public function testSend($configValue, $forceSyncMode, $isComment, $emailSending
'formattedShippingAddress' => 'Formatted address',
'formattedBillingAddress' => 'Formatted address',
];
$transport = new \Magento\Framework\DataObject($transport);

$this->eventManagerMock->expects($this->once())
->method('dispatch')
->with(
'email_invoice_set_template_vars_before',
[
'sender' => $this->subject,
'transport' => $transport,
'transport' => $transport->getData(),
'transportObject' => $transport,
]
);

$this->templateContainerMock->expects($this->once())
->method('setTemplateVars')
->with($transport);
->with($transport->getData());

$this->identityContainerMock->expects($this->once())
->method('isEnabled')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,20 +262,22 @@ public function testSend($configValue, $forceSyncMode, $isComment, $emailSending
'formattedShippingAddress' => 'Formatted address',
'formattedBillingAddress' => 'Formatted address',
];
$transport = new \Magento\Framework\DataObject($transport);

$this->eventManagerMock->expects($this->once())
->method('dispatch')
->with(
'email_shipment_set_template_vars_before',
[
'sender' => $this->subject,
'transport' => $transport,
'transport' => $transport->getData(),
'transportObject' => $transport,
]
);

$this->templateContainerMock->expects($this->once())
->method('setTemplateVars')
->with($transport);
->with($transport->getData());

$this->identityContainerMock->expects($this->once())
->method('isEnabled')
Expand Down
Loading

0 comments on commit 3d628f8

Please sign in to comment.