Exemplo n.º 1
0
 public function subscribe(NewsletterEvent $event)
 {
     // test if the email is already registered and unsubscribed
     if (null === ($newsletter = NewsletterQuery::create()->findOneByEmail($event->getEmail()))) {
         $newsletter = new NewsletterModel();
     }
     $newsletter->setEmail($event->getEmail())->setFirstname($event->getFirstname())->setLastname($event->getLastname())->setLocale($event->getLocale())->setUnsubscribed(false)->save();
     $event->setNewsletter($newsletter);
 }
Exemplo n.º 2
0
 /**
  * @depends testUpdate
  * @param NewsletterModel $newsletter
  */
 public function testUnsubscribe(NewsletterModel $newsletter)
 {
     $event = new NewsletterEvent('*****@*****.**', 'en_US');
     $event->setId($newsletter->getId());
     $action = new Newsletter();
     $action->unsubscribe($event);
     $deletedNewsletter = $event->getNewsletter();
     $this->assertInstanceOf('Thelia\\Model\\Newsletter', $deletedNewsletter);
     $this->assertEquals(1, NewsletterQuery::create()->filterByEmail('*****@*****.**')->filterByUnsubscribed(true)->count());
 }
Exemplo n.º 3
0
 /**
  * @depends testUpdate
  */
 public function testUnsubscribe(NewsletterModel $newsletter)
 {
     $event = new NewsletterEvent('*****@*****.**', 'en_US');
     $event->setId($newsletter->getId());
     $action = new Newsletter();
     $action->unsubscribe($event);
     $deletedNewsletter = $event->getNewsletter();
     $this->assertInstanceOf('Thelia\\Model\\Newsletter', $deletedNewsletter);
     $this->assertTrue($deletedNewsletter->isDeleted());
 }
Exemplo n.º 4
0
 public function subscribe(NewsletterEvent $event)
 {
     // test if the email is already registered and unsubscribed
     if (null === ($newsletter = NewsletterQuery::create()->findOneByEmail($event->getEmail()))) {
         $newsletter = new NewsletterModel();
     }
     $newsletter->setEmail($event->getEmail())->setFirstname($event->getFirstname())->setLastname($event->getLastname())->setLocale($event->getLocale())->setUnsubscribed(false)->save();
     $event->setNewsletter($newsletter);
     if (ConfigQuery::getNotifyNewsletterSubscription()) {
         $this->dispatcher->dispatch(TheliaEvents::NEWSLETTER_CONFIRM_SUBSCRIPTION, $event);
     }
 }
Exemplo n.º 5
0
 public function subscribe(NewsletterEvent $event)
 {
     $newsletter = new NewsletterModel();
     $newsletter->setEmail($event->getEmail())->setFirstname($event->getFirstname())->setLastname($event->getLastname())->setLocale($event->getLocale())->save();
     $event->setNewsletter($newsletter);
 }
Exemplo n.º 6
0
 /**
  * Exclude object from result
  *
  * @param   ChildNewsletter $newsletter Object to remove from the list of results
  *
  * @return ChildNewsletterQuery The current query, for fluid interface
  */
 public function prune($newsletter = null)
 {
     if ($newsletter) {
         $this->addUsingAlias(NewsletterTableMap::ID, $newsletter->getId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }