예제 #1
0
 /**
  * @param $orderId
  */
 protected function _reserveOrdersById($orderId)
 {
     $order = Mage::getModel('sales/order')->load($orderId, 'entity_id');
     $iStatus = Mage::getStoreConfig(ITwebexperts_Payperrentals_Helper_Config::XML_PATH_RESERVATION_STATUS);
     if (Mage::helper('payperrentals/config')->reserveByStatus() && $order->getStatus() != $iStatus) {
         ITwebexperts_Payperrentals_Helper_Data::reserveOrder($order->getItemsCollection(), $order);
         $order->setStatus($iStatus);
         $order->save();
     }
 }
예제 #2
0
 /**
  * Event fired when invoice is paid
  * @param Varien_Event_Observer $observer
  *
  * @return $this
  */
 public function convertToOrder(Varien_Event_Observer $observer)
 {
     /** @var $order Mage_Sales_Model_Order */
     $order = $observer->getInvoice()->getOrder();
     $statusOrder = $observer->getInvoice()->getOrder()->getStatus();
     $statusArr = explode(',', Mage::getStoreConfig(ITwebexperts_Payperrentals_Helper_Config::XML_PATH_RESERVED_STATUSES));
     if (!Mage::helper('payperrentals/config')->reserveInventoryNoInvoice() || Mage::helper('payperrentals/config')->reserveByStatus() && !in_array($statusOrder, $statusArr)) {
         $items = $observer->getInvoice()->getOrder()->getItemsCollection();
         ITwebexperts_Payperrentals_Helper_Data::reserveOrder($items, $order);
     }
     return $this;
 }