/**
  * Updates info in the cart. Adds a notice if trying to increase
  * the amount of giveaway product over the allowed limit
  */
 public function updatePostAction()
 {
     $aParams = $this->getRequest()->getParams();
     /** @var Sitewards_Giveaway_Helper_Data $oHelper */
     $oHelper = Mage::helper('sitewards_giveaway');
     $aProductInformation = $oHelper->getUpdateCartProductInfo($this->getRequest());
     $bIsCartActionUpdate = $aParams[self::S_CART_ACTION_KEY] == self::S_CART_ACTION_UPDATE;
     if ($bIsCartActionUpdate && $oHelper->canAddProducts($aProductInformation) == false) {
         $this->_goBack();
     } else {
         parent::updatePostAction();
     }
 }
 public function updatePostAction()
 {
     parent::updatePostAction();
     if ($this->getRequest()->getParam('ajaxcartpopup') && $this->getRequest()->getParam('ajaxupdatequantity')) {
         $result = 'success';
         $this->loadLayout()->_initLayoutMessages('checkout/session');
         foreach (Mage::getSingleton('checkout/session')->getMessages()->getItems() as $message) {
             if ($message->getType() == 'error' || $message->getType() == 'exception') {
                 $result = Mage::helper('checkout/cart')->getCartUrl();
             }
             break;
         }
         $this->getResponse()->clearHeaders()->clearBody();
         $this->getResponse()->setHeader("Content-Type", "text/html; charset=UTF-8")->setHttpResponseCode(200)->isRedirect(0);
         if ($this->getRequest()->getParam('iscartpage')) {
             $totals = '';
             if ($result == 'success') {
                 $totals = $this->getLayout()->createBlock('checkout/cart_totals')->setTemplate('checkout/cart/totals.phtml')->toHtml();
             }
             $this->getResponse()->setBody(Zend_Json::encode(array('result' => $result, 'totals' => $totals)));
         } else {
             $linktext = '';
             $popuphtml = '';
             $emptycart = '';
             if ($result == 'success') {
                 $this->loadLayout()->_initLayoutMessages('checkout/session');
                 $linktext = $this->_getLinkText();
                 $popuphtml = $this->getLayout()->getBlock('ajaxcartpopup')->toHtml();
                 $emptycart = Mage::helper('ajaxcartpopup')->getCartCount() ? false : true;
             }
             $this->getResponse()->setBody(Zend_Json::encode(array('result' => $result, 'linktext' => $linktext, 'popuphtml' => $popuphtml, 'emptycart' => $emptycart)));
         }
     }
 }