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); }
/** * @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()); }
/** * @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()); }
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); } }
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); }
/** * 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; }