Ejemplo n.º 1
0
 public function reorderAction()
 {
     if ($vendor = Mage::helper('smvendors')->getVendorLogin()) {
         $this->_getSession()->clear();
         $orderId = $this->getRequest()->getParam('order_id');
         $order = Mage::getModel('sales/order')->load($orderId);
         /* @var $order Mage_Sales_Model_Order */
         if (!Mage::helper('sales/reorder')->canReorder($order)) {
             return $this->_forward('noRoute');
         }
         if ($order->getId()) {
             $items = $order->getItemsCollection();
             foreach ($items as $key => $item) {
                 if ($item->getVendorId() !== $vendor->getId()) {
                     $items->removeItemByKey($key);
                 }
             }
             $order->setReordered(true);
             $this->_getSession()->setUseOldShippingMethod(true);
             $this->_getOrderCreateModel()->initFromOrder($order);
             $this->_redirect('*/*');
         } else {
             $this->_redirect('*/vendors_order/');
         }
     } else {
         return parent::reorderAction();
     }
 }