public function confirmAction()
 {
     $updateResult = new Varien_Object();
     try {
         $orderItemId = (int) $this->getRequest()->getParam('item_id');
         $options = $this->getRequest()->getParam('options');
         $orderItem = Mage::getModel('sales/order_item')->load($orderItemId);
         $quote = Mage::getModel('sales/quote')->load($orderItem->getOrder()->getQuoteId());
         $quoteItem = Mage::getModel('sales/quote_item')->load($orderItem->getQuoteItemId())->setQuote($quote);
         $buyRequest = $orderItem->getBuyRequest();
         $buyRequest->setOptions($options);
         $products = $orderItem->getProduct()->getTypeInstance(true)->prepareForCartAdvanced($buyRequest, $orderItem->getProduct(), 'lite');
         $quoteItem->setOptions($products[0]->getCustomOptions());
         $quoteItem->setBuyRequest($buyRequest);
         $productOptions = $orderItem->getProductOptions();
         $productOptions['info_buyRequest'] = $buyRequest->getData();
         $productOptions['options'] = Mage::helper('catalog/product_configuration')->getCustomOptions($quoteItem);
         $orderItem->setProductOptions($productOptions);
         Mage::dispatchEvent('sales_convert_quote_item_to_order_item', array('order_item' => $orderItem, 'item' => $quoteItem));
         $quoteItem->save();
         $orderItem->save();
         $updateResult->setOk(true);
     } catch (Exception $e) {
         $updateResult->setError(true);
         $updateResult->setMessage($e->getMessage());
     }
     $updateResult->setJsVarName($this->getRequest()->getParam('as_js_varname'));
     Mage::getSingleton('adminhtml/session')->setCompositeProductResult($updateResult);
     $this->_redirect('*/catalog_product/showUpdateResult');
     return $this;
 }
Example #2
0
 /**
  * Adds configured product to quote
  */
 public function addConfiguredAction()
 {
     $errorMessage = null;
     try {
         $this->_initSession()->_processData();
     } catch (Exception $e) {
         $this->_reloadQuote();
         $errorMessage = $e->getMessage();
     }
     // Form result for client javascript
     $updateResult = new Varien_Object();
     if ($errorMessage) {
         $updateResult->setError(true);
         $updateResult->setMessage($errorMessage);
     } else {
         $updateResult->setOk(true);
     }
     $updateResult->setJsVarName($this->getRequest()->getParam('as_js_varname'));
     Mage::getSingleton('adminhtml/session')->setCompositeProductResult($updateResult);
     $this->_redirect('*/catalog_product/showUpdateResult');
 }
 /**
  * IFrame handler for submitted configuration for wishlist item
  *
  * @return false
  */
 public function updateAction()
 {
     // Update wishlist item
     $updateResult = new Varien_Object();
     try {
         $this->_initData();
         $buyRequest = new Varien_Object($this->getRequest()->getParams());
         $this->_wishlist->updateItem($this->_wishlistItem->getId(), $buyRequest)->save();
         $updateResult->setOk(true);
     } catch (Exception $e) {
         $updateResult->setError(true);
         $updateResult->setMessage($e->getMessage());
     }
     $updateResult->setJsVarName($this->getRequest()->getParam('as_js_varname'));
     Mage::getSingleton('adminhtml/session')->setCompositeProductResult($updateResult);
     $this->_redirect('*/catalog_product/showUpdateResult');
     return false;
 }