Example #1
0
 /**
  *
  * @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();
                 }
             }
         }
     }
 }