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