Esempio n. 1
0
 /**
  * Removes error statuses from quote and item, set by this observer
  *
  * @param Mage_Sales_Model_Quote_Item $item
  * @param int $code
  * @return Mage_CatalogInventory_Model_Observer
  */
 protected function _removeErrorsFromQuoteAndItem($item, $code)
 {
     //if(ITwebexperts_Payperrentals_Helper_Data::isReservationType($item->getProduct()) && ($item->getProduct()->getTypeId() == ITwebexperts_Payperrentals_Helper_Data::PRODUCT_TYPE_CONFIGURABLE || $item->getProduct()->getTypeId() == ITwebexperts_Payperrentals_Helper_Data::PRODUCT_TYPE_BUNDLE || $item->getProduct()->getTypeId() == ITwebexperts_Payperrentals_Helper_Data::PRODUCT_TYPE_GROUPED)){
     //  return $this;
     //}
     if ($item->getHasError()) {
         $params = array('origin' => 'cataloginventory', 'code' => $code);
         $item->removeErrorInfosByParams($params);
     }
     $quote = $item->getQuote();
     $quoteItems = $quote->getItemsCollection();
     $canRemoveErrorFromQuote = true;
     foreach ($quoteItems as $quoteItem) {
         if ($quoteItem->getItemId() == $item->getItemId()) {
             continue;
         }
         $errorInfos = $quoteItem->getErrorInfos();
         foreach ($errorInfos as $errorInfo) {
             if ($errorInfo['code'] == $code) {
                 $canRemoveErrorFromQuote = false;
                 break;
             }
         }
         if (!$canRemoveErrorFromQuote) {
             break;
         }
     }
     if ($quote->getHasError() && $canRemoveErrorFromQuote) {
         $params = array('origin' => 'cataloginventory', 'code' => $code);
         $quote->removeErrorInfosByParams(null, $params);
     }
     return $this;
 }
 /**
  * Removes error statuses from quote and item, set by this observer
  *
  * @param Mage_Sales_Model_Quote_Item $item
  * @param string $origin
  * @param int $code
  * @return Jarlssen_CustomCartValidation_Model_Observer
  */
 protected function _removeErrorsFromQuoteAndItem($item, $origin, $code)
 {
     if ($item->getHasError()) {
         $params = array('origin' => $origin, 'code' => $code);
         $item->removeErrorInfosByParams($params);
     }
     $quote = $item->getQuote();
     $quoteItems = $quote->getItemsCollection();
     $canRemoveErrorFromQuote = true;
     foreach ($quoteItems as $quoteItem) {
         if ($quoteItem->getItemId() == $item->getItemId()) {
             continue;
         }
         $errorInfos = $quoteItem->getErrorInfos();
         foreach ($errorInfos as $errorInfo) {
             if ($errorInfo['code'] == $code) {
                 $canRemoveErrorFromQuote = false;
                 break;
             }
         }
         if (!$canRemoveErrorFromQuote) {
             break;
         }
     }
     if ($quote->getHasError() && $canRemoveErrorFromQuote) {
         $params = array('origin' => $origin, 'code' => $code);
         $quote->removeErrorInfosByParams(null, $params);
     }
     return $this;
 }
Esempio n. 3
0
 /**
  * Removes error statuses from quote and item, set by this observer
  *
  * @param Mage_Sales_Model_Quote_Item $item
  * @param int $code
  * @return Mage_CatalogInventory_Model_Observer
  */
 protected function _removeErrorsFromQuoteAndItem($item, $code)
 {
     if ($item->getHasError()) {
         $params = array('origin' => 'cataloginventory', 'code' => $code);
         $item->removeErrorInfosByParams($params);
     }
     $quote = $item->getQuote();
     if ($quote->getHasError()) {
         $params = array('origin' => 'cataloginventory', 'code' => $code);
         $quote->removeErrorInfosByParams(null, $params);
     }
     return $this;
 }