/** * * @param Object $transaction */ public function updateStatusByTransaction($transaction) { $order = $transaction->getOrder(); if ($transaction != null && $transaction->getTransactionObject() != null && $this->getSubscription()->isActive() && $order != null && $this->getSubscription()->hasOpenOrder() && $order->getId() == $this->getSubscription()->getOpenOrder()->getId()) { if ($transaction->getTransactionObject()->isCaptured()) { $this->setStatus(self::STATUS_PAID); } elseif ($transaction->getTransactionObject()->isAuthorized()) { $this->setStatus(self::STATUS_AUTHORIZED); } $this->save(); } }
/** * afterPlaceOrder1 After place order observer * @param Object $observer Last placed order information * @var Int $lastOrderId Last order id * @var Object $order Sales Order model object * @var Object $ordered_items Containes order all items * @var Object $item Sales Order Item object * @var Array $options Item options * @var Int $productId Order item product id * @var Int $mpassignproductId Order Item Assign product id * @var Object $collection Marketplace Order sale list collection object * @var Int $slqty Marketplace product ordered quantity * @var Int $saleslistId Marketplace_Saleslist primary key * @var Object $mpassignModel Assign product model object * @var Int $asqt Assign product available quantity * @var Array $options Configurable assign product associated products option * @var Int $nasqt Assign product remaining quantity */ public function afterPlaceOrder1($observer) { $lastOrderId = $observer->getOrder()->getId(); $order = Mage::getModel('sales/order')->load($lastOrderId); $ordered_items = $order->getAllVisibleItems(); foreach ($ordered_items as $item) { $options = $item->getProductOptions(); $productId = $item->getProductId(); $mpassignproductId = 0; if (isset($options['info_buyRequest']['mpassignproduct_id'])) { $mpassignproductId = $options['info_buyRequest']['mpassignproduct_id']; } if ($mpassignproductId) { $collection = Mage::getModel('marketplace/saleslist')->getCollection()->addFieldToFilter('mageproid', array('eq' => $productId))->addFieldToFilter('mageorderid', array('eq' => $lastOrderId)); foreach ($collection as $val) { $slqty = $val['magequantity']; $saleslistId = $val['autoid']; } $mpassignModel = Mage::getModel('mpassignproduct/mpassignproduct')->load($mpassignproductId); if ($saleslistId) { $saleslistModel = Mage::getModel('marketplace/saleslist')->load($saleslistId); $saleslistModel->setMageproownerid($mpassignModel->getSellerId()); $saleslistModel->setMpassignproductId($mpassignproductId); $saleslistModel->save(); if ($mpassignModel->getProductType() != "configurable") { $asqt = $mpassignModel->getQty(); $nasqt = $asqt - $slqty; $mpassignModel->setQty($nasqt); $mpassignModel->save(); } else { $options = unserialize($mpassignModel->getConfigOptions()); $id = Mage::getModel('catalog/product')->getIdBySku($item->getSku()); $avlqty = $options['products'][$id]['qty']; $nasqt = $avlqty - $slqty; $options['products'][$id]['qty'] = $nasqt; $mpassignModel->setConfigOptions(serialize($options)); $mpassignModel->save(); } } } } }