예제 #1
0
파일: Observer.php 프로젝트: rajarshc/Rooja
 /**
  * 
  * @param Varien_Event_Observer $o
  */
 public function afterSaveSubscription($o)
 {
     $newSubscriberInst = $o->getEvent()->getDataObject();
     $newRSubscriberInst = Mage::getModel('rewards/newsletter_subscriber_wrapper')->wrap($newSubscriberInst);
     // We got a call back but the model appears to be different
     if ($newRSubscriberInst->getCustomer()->getId() != $this->_rsubscriber->getCustomer()->getId()) {
         return $this;
     }
     // check whether or not the user had already subscribed before saving.  If so, call the
     // newsletter signup transfer model
     if ($newSubscriberInst->isSubscribed() && !$this->_wasSubscribed) {
         Mage::dispatchEvent('rewards_newsletter_new_subscription', array('subscriber' => $newRSubscriberInst->getSubscriber()));
         $transfer = $this->initReward($newRSubscriberInst->getSubscriber());
     }
     return $this;
 }
예제 #2
0
파일: Transfer.php 프로젝트: rajarshc/Rooja
 /**
  * Creates a customer point-transfer of any amount or currency.
  *
  * @param  $rule    : Special Rule
  * @return boolean            : whether or not the point-transfer succeeded
  */
 public function createNewsletterSubscriptionPoints(TBT_Rewards_Model_Newsletter_Subscriber_Wrapper $rsubscriber, $rule)
 {
     $num_points = $rule->getPointsAmount();
     $currency_id = $rule->getPointsCurrencyId();
     $rule_id = $rule->getId();
     $transfer = $this->initTransfer($num_points, $currency_id, $rule_id);
     $customer = Mage::getModel('rewards/customer')->getRewardsCustomer($rsubscriber->getCustomer());
     $store_id = $customer->getStore()->getId();
     if (!$transfer) {
         return false;
     }
     // get the default starting status - usually Pending
     $initial_status = Mage::helper('rewards/newsletter_config')->getInitialTransferStatusAfterNewsletter($store_id);
     if (!$transfer->setStatus(null, $initial_status)) {
         // we tried to use an invalid status... is getInitialTransferStatusAfterReview() improper ??
         return false;
     }
     // Translate the message through the core translation engine (nto the store view system) in case people want to use that instead
     // This is not normal, but we found that a lot of people preferred to use the standard translation system insteaed of the
     // store view system so this lets them use both.
     $initial_transfer_msg = Mage::getStoreConfig('rewards/transferComments/newsletterEarned', $store_id);
     $comments = Mage::helper('rewards')->__($initial_transfer_msg);
     $customer_id = $rsubscriber->getCustomer()->getId();
     $this->setNewsletterId($rsubscriber->getNewsletterId())->setComments($comments)->setCustomerId($customer_id)->save();
     return true;
 }