function testInVenue() { $this->addCountriesToTestDB(); TimeSource::mock(2013, 7, 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()); $area1 = new AreaModel(); $area1->setTitle("scotland"); $area1child = new AreaModel(); $area1child->setTitle("edinburgh"); $area2 = new AreaModel(); $area2->setTitle("england"); $areaRepo = new AreaRepository(); $countryRepo = new CountryRepository(); $areaRepo->create($area1, null, $site, $countryRepo->loadByTwoCharCode('GB'), $user); $areaRepo->buildCacheAreaHasParent($area1); $areaRepo->create($area1child, $area1, $site, $countryRepo->loadByTwoCharCode('GB'), $user); $areaRepo->buildCacheAreaHasParent($area1child); $areaRepo->create($area2, null, $site, $countryRepo->loadByTwoCharCode('GB'), $user); $areaRepo->buildCacheAreaHasParent($area2); $venue = new VenueModel(); $venue->setTitle("edinburgh hall"); $venue->setAreaId($area1child->getId()); $venueRepo = new VenueRepository(); $venueRepo->create($venue, $site, $user); $event = new EventModel(); $event->setSummary("test"); $event->setDescription("test test"); $event->setStartAt($this->mktime(2013, 8, 1, 19, 0, 0)); $event->setEndAt($this->mktime(2013, 8, 1, 21, 0, 0)); $event->setVenueId($venue->getId()); $eventRepository = new EventRepository(); $eventRepository->create($event, $site, $user); #test - find in erb $erb = new EventRepositoryBuilder(); $erb->setSite($site); $erb->setVenue($venue); $events = $erb->fetchAll(); $this->assertEquals(1, count($events)); $this->assertEquals($event->getId(), $events[0]->getId()); #test - find in erb $erb = new EventRepositoryBuilder(); $erb->setSite($site); $erb->setArea($area1); $events = $erb->fetchAll(); $this->assertEquals(1, count($events)); $this->assertEquals($event->getId(), $events[0]->getId()); #test - find in erb $erb = new EventRepositoryBuilder(); $erb->setSite($site); $erb->setArea($area1child); $events = $erb->fetchAll(); $this->assertEquals(1, count($events)); $this->assertEquals($event->getId(), $events[0]->getId()); #test - don't find in erb $erb = new EventRepositoryBuilder(); $erb->setSite($site); $erb->setArea($area2); $events = $erb->fetchAll(); $this->assertEquals(0, count($events)); }
function delete($slug, Request $request, Application $app) { if (!$this->build($slug, $request, $app)) { $app->abort(404, "Venue does not exist."); } if ($this->parameters['venue']->getIsDeleted()) { die("No"); // TODO } $form = $app['form.factory']->create(new VenueDeleteForm()); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $eventRepository = new EventRepository(); $eventRepository->moveAllFutureEventsAtVenueToNoSetVenue($this->parameters['venue'], $app['currentUser']); $venueRepository = new VenueRepository(); $venueRepository->delete($this->parameters['venue'], $app['currentUser']); return $app->redirect("/venue/" . $this->parameters['venue']->getSlugForURL()); } } $rb = new EventRepositoryBuilder(); $rb->setVenue($this->parameters['venue']); $rb->setAfterNow(true); $rb->setIncludeDeleted(false); $this->parameters['events'] = $rb->fetchAll(); $this->parameters['form'] = $form->createView(); return $app['twig']->render('site/venue/delete.html.twig', $this->parameters); }
public function updateFutureEventsCache(VenueModel $venue) { global $DB; $statUpdate = $DB->prepare("UPDATE venue_information SET cached_future_events=:count WHERE id=:id"); $erb = new EventRepositoryBuilder(); $erb->setVenue($venue); $erb->setIncludeDeleted(false); $erb->setIncludeCancelled(false); $erb->setAfterNow(); $count = count($erb->fetchAll()); $statUpdate->execute(array('count' => $count, 'id' => $venue->getId())); $venue->setCachedFutureEvents($count); }