/** * @dataProvider dataForTest1 */ function test1($emailOption, $goingOption, $result) { TimeSource::mock(2013, 8, 1, 7, 0, 0); $user = new UserAccountModel(); $user->setEmail("*****@*****.**"); $user->setUsername("test"); $user->setPassword("password"); $userRepo = new UserAccountRepository(); $userRepo->create($user); $site = new SiteModel(); $site->setTitle("Test"); $site->setSlug("test"); $siteRepo = new SiteRepository(); $siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting()); $event = new EventModel(); $event->setSummary("test"); $event->setDescription("test test"); $event->setStartAt($this->mktime(2013, 8, 2, 19, 0, 0)); $event->setEndAt($this->mktime(2013, 8, 2, 21, 0, 0)); $eventRepository = new EventRepository(); $eventRepository->create($event, $site, $user); $user->setEmailUpcomingEventsDaysNotice(1); $user->setEmailUpcomingEvents($emailOption); $userRepo->editEmailsOptions($user); if ($goingOption == 'a') { $userAtEvent = new UserAtEventModel(); $userAtEvent->setUserAccountId($user->getId()); $userAtEvent->setEventId($event->getId()); $userAtEvent->setIsPlanAttending(true); $uaeRepo = new UserAtEventRepository(); $uaeRepo->save($userAtEvent); } else { if ($goingOption == 'm') { $userAtEvent = new UserAtEventModel(); $userAtEvent->setUserAccountId($user->getId()); $userAtEvent->setEventId($event->getId()); $userAtEvent->setIsPlanMaybeAttending(true); $uaeRepo = new UserAtEventRepository(); $uaeRepo->save($userAtEvent); } } list($upcomingEvents, $allEvents, $userAtEvent, $flag) = $user->getDataForUpcomingEventsEmail(); $this->assertEquals($result, $flag); }
function emails($id, $code, Request $request, Application $app) { $userRepository = new UserAccountRepository(); if ($app['currentUser'] && $app['currentUser']->getId() == $id) { // We do this to save a DB Query $user = $app['currentUser']; } else { $user = $userRepository->loadByID($id); } if (!$user) { $app['monolog']->addError("Failed changing email - no account"); return $app['twig']->render('index/user/emails.fail.html.twig', array()); } $userAccountGeneralSecurityKeyRepository = new UserAccountGeneralSecurityKeyRepository(); $userAccountGSK = $userAccountGeneralSecurityKeyRepository->loadByUserAccountIDAndAccessKey($id, $code); if (!$userAccountGSK) { $app['monolog']->addError("Failed changing email - account user " . $user->getId() . " - code wrong"); return $app['twig']->render('index/user/emails.fail.html.twig', array()); } $ourForm = new UserEmailsForm($app['extensions'], $user); $form = $app['form.factory']->create($ourForm, $user); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $userRepository->editEmailsOptions($user); $ourForm->savePreferences($form); $app['flashmessages']->addMessage("Options Changed."); return $app->redirect("/"); } } return $app['twig']->render('index/user/emails.html.twig', array('form' => $form->createView(), 'user' => $user)); }
function emails(Request $request, Application $app) { $ourForm = new UserEmailsForm($app['extensions'], $app['currentUser']); $form = $app['form.factory']->create($ourForm, $app['currentUser']); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $userRepo = new UserAccountRepository(); $userRepo->editEmailsOptions($app['currentUser']); $ourForm->savePreferences($form); $app['flashmessages']->addMessage("Options Changed."); return $app->redirect("/me/"); } } return $app['twig']->render('index/currentuser/emails.html.twig', array('form' => $form->createView())); }