function test1() { $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()); $group = new GroupModel(); $group->setTitle("test"); $group->setDescription("test test"); $group->setUrl("http://www.group.com"); $groupRepo = new GroupRepository(); $groupRepo->create($group, $site, $user); $importURLRepository = new ImportURLRepository(); $newImportURL = new ImportURLModel(); $newImportURL->setIsEnabled(true); $newImportURL->setSiteId($site->getId()); $newImportURL->setGroupId($group->getId()); $newImportURL->setTitle("Test"); $newImportURL->setUrl("http://test.com"); # no clash $clash = $importURLRepository->loadClashForImportUrl($newImportURL); $this->assertNull($clash); # save import, now clash! $importURLRepository->create($newImportURL, $site, $user); $newImportURL2 = new ImportURLModel(); $newImportURL2->setIsEnabled(true); $newImportURL2->setSiteId($site->getId()); $newImportURL2->setGroupId($group->getId()); $newImportURL2->setTitle("Test.com site"); $newImportURL2->setUrl("http://TEST.com"); # no clash $clash = $importURLRepository->loadClashForImportUrl($newImportURL2); $this->assertTrue($clash != null); }
function enable($slug, Request $request, Application $app) { if (!$this->build($slug, $request, $app)) { $app->abort(404, "Import does not exist."); } if ($this->parameters['importurl']->getIsEnabled() && !$this->parameters['importurl']->getIsExpired()) { die('NO'); // TODO } $iRepository = new ImportURLRepository(); $this->parameters['clashimporturl'] = $iRepository->loadClashForImportUrl($this->parameters['importurl']); if ($this->parameters['clashimporturl']) { return $app['twig']->render('site/importurl/enable.clash.html.twig', $this->parameters); } if ($request->request->get('enable') == 'yes' && $request->request->get('CSFRToken') == $app['websession']->getCSFRToken()) { $iRepository->enable($this->parameters['importurl'], $app['currentUser']); return $app->redirect("/importurl/" . $this->parameters['importurl']->getSlug()); } return $app['twig']->render('site/importurl/enable.html.twig', $this->parameters); }
function newImportURL($slug, Request $request, Application $app) { if (!$this->build($slug, $request, $app)) { $app->abort(404, "Group does not exist."); } $importurl = new ImportURLModel(); // we must setSiteId() here so loadClashForImportUrl() works $importurl->setSiteId($app['currentSite']->getId()); $importurl->setGroupId($this->parameters['group']->getId()); $form = $app['form.factory']->create(new ImportURLNewForm($app['currentSite'], $app['currentTimeZone']), $importurl); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $importURLRepository = new ImportURLRepository(); $clash = $importURLRepository->loadClashForImportUrl($importurl); if ($clash) { $importurl->setIsEnabled(false); $app['flashmessages']->addMessage("There was a problem enabling this importer. Please try to enable it for details."); } else { $importurl->setIsEnabled(true); } $area = null; $areaRepository = new AreaRepository(); $areasPost = $request->request->get('areas'); if (is_array($areasPost)) { foreach ($areasPost as $areaCode) { if (substr($areaCode, 0, 9) == 'EXISTING:') { $area = $areaRepository->loadBySlug($app['currentSite'], substr($areaCode, 9)); } } } $importurl->setAreaId($area ? $area->getId() : null); $importURLRepository->create($importurl, $app['currentSite'], $app['currentUser']); return $app->redirect("/importurl/" . $importurl->getSlug()); } } $this->parameters['form'] = $form->createView(); return $app['twig']->render('site/group/newimporturl.html.twig', $this->parameters); }