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; }
/** * 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; }