/**
  * Move item to given wishlist.
  * Check whether item belongs to one of customer's wishlists
  *
  * @param Mage_Wishlist_Model_Item $item
  * @param Mage_Wishlist_Model_Wishlist $wishlist
  * @param Mage_Wishlist_Model_Resource_Wishlist_Collection $customerWishlists
  * @param int $qty
  * @throws InvalidArgumentException|DomainException
  */
 protected function _moveItem(Mage_Wishlist_Model_Item $item, Mage_Wishlist_Model_Wishlist $wishlist, Mage_Wishlist_Model_Resource_Wishlist_Collection $customerWishlists, $qty = null)
 {
     if (!$item->getId()) {
         throw new InvalidArgumentException();
     }
     if ($item->getWishlistId() == $wishlist->getId()) {
         throw new DomainException(null, 1);
     }
     if (!$customerWishlists->getItemById($item->getWishlistId())) {
         throw new DomainException(null, 2);
     }
     $buyRequest = $item->getBuyRequest();
     if ($qty) {
         $buyRequest->setQty($qty);
     }
     $wishlist->addNewItem($item->getProduct(), $buyRequest);
     $qtyDiff = $item->getQty() - $qty;
     if ($qty && $qtyDiff > 0) {
         $item->setQty($qtyDiff);
         $item->save();
     } else {
         $item->delete();
     }
 }
 /**
  * Retrieve Qty from item
  *
  * @param Mage_Wishlist_Model_Item|Mage_Catalog_Model_Product $item
  * @return float
  */
 public function getQty($item)
 {
     $qty = $item->getQty() * 1;
     if (!$qty) {
         $qty = 1;
     }
     return $qty;
 }
Example #3
0
 /**
  * Returns qty to show visually to user
  *
  * @param Mage_Wishlist_Model_Item $item
  * @return float
  */
 public function getAddToCartQty(Mage_Wishlist_Model_Item $item)
 {
     $qty = $item->getQty();
     return $qty ? $qty : 1;
 }
Example #4
0
 /**
  * @param Mage_Wishlist_Model_Item $item
  * @param int                      $index
  *
  * @return Bronto_Common_Model_Email_Template_Filter
  */
 protected function _filterWishlistItem(Mage_Wishlist_Model_Item $item, $index = null)
 {
     if ($item->getParentItem()) {
         return $this;
     }
     $this->setStoreId($item->getStoreId());
     $this->setField("productName_{$index}", $item->getName());
     $this->setField("productPrice_{$index}", $this->formatPrice($item->getPrice()));
     $this->setField("productQty_{$index}", $item->getQty());
     $this->setField("productUrl_{$index}", $this->_getWishlistItemUrl($item));
     /* @var $product Mage_Catalog_Model_Product */
     $product = $item->getProduct();
     if (!$product) {
         $product = Mage::helper('bronto_common/product')->getProduct($item->getProductId(), $this->getStoreId() ? $this->getStoreId() : false);
     }
     $this->setField("productSku_{$index}", $product->getSku());
     $this->_filterProduct($product, $index);
     return $this;
 }