Example #1
0
 /**
  * @magentoAppIsolation enabled
  * @magentoDataFixture Mage/Core/_files/store.php
  * @magentoConfigFixture fixturestore_store design/theme/full_name test/default
  * @magentoDataFixture Mage/Core/Model/Email/_files/theme_registration.php
  */
 public function testGetProcessedTemplateSubject()
 {
     $expectedViewUrl = 'theme/frontend/test/default/en_US/Mage_Page/favicon.ico';
     $this->_model->setTemplateSubject('{{view url="Mage_Page::favicon.ico"}}');
     $this->assertStringEndsNotWith($expectedViewUrl, $this->_model->getProcessedTemplateSubject(array()));
     $this->_model->setDesignConfig(array('area' => 'frontend', 'store' => Mage::app()->getStore('fixturestore')->getId()));
     $this->assertStringEndsWith($expectedViewUrl, $this->_model->getProcessedTemplateSubject(array()));
 }
Example #2
0
 /**
  * Send reminder emails
  *
  * @return Enterprise_Reminder_Model_Rule
  */
 public function sendReminderEmails()
 {
     /* @var $translate Mage_Core_Model_Translate */
     $translate = Mage::getSingleton('core/translate');
     $translate->setTranslateInline(false);
     $identity = Mage::helper('enterprise_reminder')->getEmailIdentity();
     $this->_matchCustomers();
     $limit = Mage::helper('enterprise_reminder')->getOneRunLimit();
     $recipients = $this->_getResource()->getCustomersForNotification($limit, $this->getRuleId());
     foreach ($recipients as $recipient) {
         /* @var $customer Mage_Customer_Model_Customer */
         $customer = Mage::getModel('customer/customer')->load($recipient['customer_id']);
         if (!$customer || !$customer->getId()) {
             continue;
         }
         if ($customer->getStoreId()) {
             $store = $customer->getStore();
         } else {
             $store = Mage::app()->getWebsite($customer->getWebsiteId())->getDefaultStore();
         }
         $storeData = $this->getStoreData($recipient['rule_id'], $store->getId());
         if (!$storeData) {
             continue;
         }
         /* @var $coupon Mage_SalesRule_Model_Coupon */
         $coupon = Mage::getModel('salesrule/coupon')->load($recipient['coupon_id']);
         $templateVars = array('store' => $store, 'coupon' => $coupon, 'customer' => $customer, 'promotion_name' => $storeData['label'], 'promotion_description' => $storeData['description']);
         $this->_mail->setDesignConfig(array('area' => 'frontend', 'store' => $store->getId()));
         $this->_mail->sendTransactional($storeData['template_id'], $identity, $customer->getEmail(), null, $templateVars, $store->getId());
         if ($this->_mail->getSentSuccess()) {
             $this->_getResource()->addNotificationLog($recipient['rule_id'], $customer->getId());
         } else {
             $this->_getResource()->updateFailedEmailsCounter($recipient['rule_id'], $customer->getId());
         }
     }
     $translate->setTranslateInline(true);
     return $this;
 }
Example #3
0
 /**
  * Reset the design configuration so emails sent later during
  * the request will use the right store config
  *
  * @param Mage_Core_Model_Email_Template $mailTemplate
  * @return $this
  */
 protected function _revertEmailDesignConfig(Mage_Core_Model_Email_Template $mailTemplate)
 {
     $mailTemplate->setDesignConfig($this->_origEmailDesignConfig);
     return $this;
 }
Example #4
0
 /**
  * @dataProvider setDesignConfigExceptionDataProvider
  * @expectedException Magento_Exception
  */
 public function testSetDesignConfigException($config)
 {
     $model = new Mage_Core_Model_Email_Template();
     // Mage_Core_Model_Template is an abstract class
     $model->setDesignConfig($config);
 }