-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathObserver.php
30 lines (25 loc) · 1.14 KB
/
Observer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
class Dwd_Logisticlist_Model_Observer
{
public function sendLogisticMail($observer) {
$order = $observer->getEvent()->getOrder();
if (($order->getStatus() == 'buckaroo_processed' && $order->getState() == 'processing') || ($order->getStatus() == 'ambassadeur_processed' && $order->getState() == 'new')) {
$billingId = $order->getBillingAddress()->getId();
$address = Mage::getModel('sales/order_address')->load($billingId);
$fullOrder = Mage::getModel('sales/order')->load($order->getId());
$items = $fullOrder->getAllItems();
$logisticMails = array();
foreach($items as $item) {
$product = Mage::getModel('catalog/product')->load($item->getProductId());
$optionId = $product->getLogisticCompany();
Mage::log($item['parent_item_id'], null, 'logistic.log');
if ($optionId && !$item['parent_item_id'])
$logisticMails[(int)$optionId][] = $item->getData();
}
foreach($logisticMails as $companyId => $data) {
$info = Mage::helper('logisticlist')->getInfoByOptionId($companyId);
Mage::helper('logisticlist')->sendMail($order, $address, $info['mail'], $info['name'], $data);
}
}
}
}