Example #1
0
 /**
  * Retrieve url for updating product in wishlist
  *
  * @param Mage_Catalog_Model_Product|Mage_Wishlist_Model_Item $item
  *
  * @return  string|bool
  */
 public function getUpdateUrl($item)
 {
     $itemId = null;
     if ($item instanceof Mage_Catalog_Model_Product) {
         $itemId = $item->getWishlistItemId();
     }
     if ($item instanceof Mage_Wishlist_Model_Item) {
         $itemId = $item->getId();
     }
     if ($itemId) {
         return $this->_getUrl('wishlist/index/updateItemOptions', array('id' => $itemId));
     }
     return false;
 }
 /**
  * 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();
     }
 }
Example #3
0
 /**
  * Set quote item
  *
  * @param   Mage_Wishlist_Model_Item $item
  * @return  Mage_Wishlist_Model_Item_Option
  */
 public function setItem($item)
 {
     $this->setWishlistItemId($item->getId());
     $this->_item = $item;
     return $this;
 }
Example #4
0
 /**
  * Adding item to wishlist
  *
  * @param   Mage_Wishlist_Model_Item $item
  * @return  Mage_Wishlist_Model_Wishlist
  */
 public function addItem(Mage_Wishlist_Model_Item $item)
 {
     $item->setWishlist($this);
     if (!$item->getId()) {
         $this->getItemCollection()->addItem($item);
         Mage::dispatchEvent('wishlist_add_item', array('item' => $item));
     }
     return $this;
 }
 /**
  * Returns item configure url in wishlist
  *
  * @param Mage_Catalog_Model_Product|Mage_Wishlist_Model_Item $product
  *
  * @return string
  */
 public function getItemConfigureUrl($product)
 {
     if ($product instanceof Mage_Catalog_Model_Product) {
         $id = $product->getWishlistItemId();
     } else {
         $id = $product->getId();
     }
     $params = array('id' => $id);
     return $this->getUrl('wishlist/index/configure/', $params);
 }
Example #6
0
 /**
  * Retrieve url for updating product in wishlist
  *
  * @param Mage_Catalog_Model_Product|Mage_Wishlist_Model_Item $item
  *
  * @return  string|bool
  */
 public function getUpdateUrl($item)
 {
     $itemId = null;
     if ($item instanceof Mage_Catalog_Model_Product) {
         $itemId = $item->getWishlistItemId();
     }
     if ($item instanceof Mage_Wishlist_Model_Item) {
         $itemId = $item->getId();
     }
     if ($itemId) {
         $params['id'] = $itemId;
         return $this->_getUrlStore($item)->getUrl('wishlist/index/updateItemOptions', $params);
     }
     return false;
 }