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);
 }