コード例 #1
0
ファイル: Quote.php プロジェクト: ramahasa/magento
 public function submitOrder()
 {
     $order = parent::submitOrder();
     // Prevent the cart to be emptied before payment response
     //$this->_quote->setIsActive(true);
     return $order;
 }
コード例 #2
0
 protected function _validate()
 {
     if (Mage::registry('oneclickorder_ignore_quote_validation')) {
         return $this;
     }
     return parent::_validate();
 }
コード例 #3
0
ファイル: Quote.php プロジェクト: hashir-dhattiwala/vfmagento
 public function submitOrder()
 {
     $version = Mage::getVersionInfo();
     if (1 <= $version['major'] && 4 <= $version['minor'] && $version['revision'] <= 1) {
         return parent::submitOrder();
     }
     $this->_deleteNominalItems();
     $this->_validate();
     $quote = $this->_quote;
     $isVirtual = $quote->isVirtual();
     $transaction = Mage::getModel('core/resource_transaction');
     if ($quote->getCustomerId()) {
         $transaction->addObject($quote->getCustomer());
     }
     $transaction->addObject($quote);
     $quote->reserveOrderId();
     if ($isVirtual) {
         $order = $this->_convertor->addressToOrder($quote->getBillingAddress());
     } else {
         $order = $this->_convertor->addressToOrder($quote->getShippingAddress());
     }
     $order->setBillingAddress($this->_convertor->addressToOrderAddress($quote->getBillingAddress()));
     if (!$isVirtual) {
         $order->setShippingAddress($this->_convertor->addressToOrderAddress($quote->getShippingAddress()));
     }
     $order->setPayment($this->_convertor->paymentToOrderPayment($quote->getPayment()));
     foreach ($this->_orderData as $key => $value) {
         $order->setData($key, $value);
     }
     foreach ($quote->getAllItems() as $item) {
         $orderItem = $this->_convertor->itemToOrderItem($item);
         if ($item->getParentItem()) {
             $orderItem->setParentItem($order->getItemByQuoteItemId($item->getParentItem()->getId()));
         }
         // elite paint
         $this->setItemPaint($orderItem, $item);
         $order->addItem($orderItem);
     }
     $transaction->addObject($order);
     $transaction->addCommitCallback(array($order, 'place'));
     $transaction->addCommitCallback(array($order, 'save'));
     /**
      * We can use configuration data for declare new order status
      */
     Mage::dispatchEvent('checkout_type_onepage_save_order', array('order' => $order, 'quote' => $quote));
     Mage::dispatchEvent('sales_model_service_quote_submit_before', array('order' => $order, 'quote' => $quote));
     try {
         $transaction->save();
         $this->_inactivateQuote();
         Mage::dispatchEvent('sales_model_service_quote_submit_success', array('order' => $order, 'quote' => $quote));
     } catch (Exception $e) {
         Mage::dispatchEvent('sales_model_service_quote_submit_failure', array('order' => $order, 'quote' => $quote));
         throw $e;
     }
     Mage::dispatchEvent('sales_model_service_quote_submit_after', array('order' => $order, 'quote' => $quote));
     $this->_order = $order;
     return $order;
 }
コード例 #4
0
 public function submitOrder()
 {
     $order = parent::submitOrder();
     // Prevent the cart to be emptied before payment response
     if ($order->getPayment()->getMethodInstance()->getPaymentMethodType() == 'pnsofortueberweisung') {
         $this->_quote->setIsActive(true);
     }
     return $order;
 }
コード例 #5
0
ファイル: Quote.php プロジェクト: xiaoguizhidao/storebaby.it
 /**
  * @return Mage_Sales_Model_Order
  */
 public function submitOrder()
 {
     $order = parent::submitOrder();
     if (Mage::getStoreConfig('payment/msp/keep_cart', $this->_quote->getStoreId()) || Mage::getStoreConfig('msp/settings/keep_cart', $this->_quote->getStoreId()) || $this->_quote->getPayment()->getMethod() == 'msp_payafter') {
         $this->_quote->setIsActive(true)->save();
         $this->_quote->setReservedOrderId(null)->save();
     }
     return $order;
 }
コード例 #6
0
ファイル: Quote.php プロジェクト: FranchuCorraliza/magento
 /**
  * @return Mage_Sales_Model_Order
  */
 public function submitOrder()
 {
     $order = parent::submitOrder();
     if (Mage::app()->getStore()->isAdmin()) {
         return $order;
     }
     if (in_array($this->_quote->getPayment()->getMethod(), $this->availablePaymentMethodCodes)) {
         if (Mage::getStoreConfig('payment/msp/keep_cart', $this->_quote->getStoreId()) || Mage::getStoreConfig('msp/settings/keep_cart', $this->_quote->getStoreId()) || $this->_quote->getPayment()->getMethod() == 'msp_payafter' || $this->_quote->getPayment()->getMethod() == 'msp_klarna') {
             $this->_quote->setIsActive(true)->save();
             $this->_quote->setReservedOrderId(null)->save();
         }
     }
     return $order;
 }
コード例 #7
0
ファイル: Quote.php プロジェクト: sohagan/magento-modules
 public function submitOrder()
 {
     $nVersion = Mage::getModel('cardsaveonlinepayments/direct')->getVersion();
     if ($nVersion >= 1410) {
         if ($this->_quote->getPayment()->getMethodInstance()->getCode() != 'cardsaveonlinepayments') {
             return parent::submitOrder();
         }
         $this->_deleteNominalItems();
         $this->_validate();
         $quote = $this->_quote;
         $isVirtual = $quote->isVirtual();
         $transaction = Mage::getModel('core/resource_transaction');
         if ($quote->getCustomerId()) {
             $transaction->addObject($quote->getCustomer());
         }
         $transaction->addObject($quote);
         $quote->reserveOrderId();
         if ($isVirtual) {
             $order = $this->_convertor->addressToOrder($quote->getBillingAddress());
         } else {
             $order = $this->_convertor->addressToOrder($quote->getShippingAddress());
         }
         $order->setBillingAddress($this->_convertor->addressToOrderAddress($quote->getBillingAddress()));
         if (!$isVirtual) {
             $order->setShippingAddress($this->_convertor->addressToOrderAddress($quote->getShippingAddress()));
         }
         $order->setPayment($this->_convertor->paymentToOrderPayment($quote->getPayment()));
         foreach ($this->_orderData as $key => $value) {
             $order->setData($key, $value);
         }
         foreach ($quote->getAllItems() as $item) {
             $orderItem = $this->_convertor->itemToOrderItem($item);
             if ($item->getParentItem()) {
                 $orderItem->setParentItem($order->getItemByQuoteItemId($item->getParentItem()->getId()));
             }
             $order->addItem($orderItem);
         }
         // make sure the customer can still use the quote if payment is failed
         //$quote->setIsActive(false);
         $transaction->addObject($order);
         $transaction->addCommitCallback(array($order, 'place'));
         $transaction->addCommitCallback(array($order, 'save'));
         /**
          * We can use configuration data for declare new order status
          */
         Mage::dispatchEvent('checkout_type_onepage_save_order', array('order' => $order, 'quote' => $quote));
         Mage::dispatchEvent('sales_model_service_quote_submit_before', array('order' => $order, 'quote' => $quote));
         try {
             $transaction->save();
             Mage::dispatchEvent('sales_model_service_quote_submit_success', array('order' => $order, 'quote' => $quote));
             // need to store the orderID in the session for the callback from an external page
             Mage::getSingleton('checkout/session')->setCardsaveonlinepaymentsOrderId($order->getId());
         } catch (Exception $e) {
             Mage::logException($e);
             Mage::dispatchEvent('sales_model_service_quote_submit_failure', array('order' => $order, 'quote' => $quote));
             throw $e;
         }
         Mage::dispatchEvent('sales_model_service_quote_submit_after', array('order' => $order, 'quote' => $quote));
         $this->_order = $order;
         return $order;
     }
 }
 /**
  * When submitting an order, the order can be properly submitted by using
  * the quote service. The newly created order object should be returned.
  */
 public function testSubmitOrder()
 {
     $this->_quoteService->expects($this->once())->method('submitOrder')->will($this->returnValue($this->_order));
     $this->assertSame($this->_order, EcomDev_Utils_Reflection::invokeRestrictedMethod($this->_multishippingCheckout, '_submitOrder'));
 }
コード例 #9
0
 /**
  * @param Mage_Sales_Model_Quote
  */
 public function __construct(Mage_Sales_Model_Quote $quote)
 {
     parent::__construct($quote);
     $this->_multishippingFactory = Mage::helper('ebayenterprise_multishipping/factory');
     $this->_checkoutDispatcher = Mage::helper('ebayenterprise_multishipping/dispatcher_onepage');
 }