/**
  * Filter given wishlist collection
  *
  * @param Mage_Wishlist_Model_Resource_Wishlist_Collection $collection
  * @return Mage_Wishlist_Model_Resource_Wishlist_Collection
  */
 public function filterCollection(Mage_Wishlist_Model_Resource_Wishlist_Collection $collection)
 {
     $customer = Mage::getModel("customer/customer")->setWebsiteId(Mage::app()->getStore()->getWebsiteId())->loadByEmail($this->_email);
     $collection->filterByCustomer($customer);
     foreach ($collection as $item) {
         $item->setCustomer($customer);
     }
     return $collection;
 }
Beispiel #2
0
 /**
  * Filter wishlist collection
  *
  * @param Mage_Wishlist_Model_Resource_Wishlist_Collection $collection
  * @return Mage_Wishlist_Model_Resource_Wishlist_Collection
  */
 public function filterCollection(Mage_Wishlist_Model_Resource_Wishlist_Collection $collection)
 {
     /* @var $customers Mage_Customer_Model_Resource_Customer_Collection */
     $customers = Mage::getModel('customer/customer')->getCollection()->addAttributeToFilter(array(array('attribute' => 'firstname', 'like' => '%' . $this->_firstname . '%')))->addAttributeToFilter(array(array('attribute' => 'lastname', 'like' => '%' . $this->_lastname . '%')));
     $collection->filterByCustomerIds($customers->getAllIds());
     foreach ($collection as $wishlist) {
         $wishlist->setCustomer($customers->getItemById($wishlist->getCustomerId()));
     }
     return $collection;
 }
 /**
  * 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();
     }
 }