function listUsersNotEditors(Application $app, Request $request) { $repo = new UserHasNoEditorPermissionsInSiteRepository(); if ($request->request->get('action') == "add" && $request->request->get('CSFRToken') == $app['websession']->getCSFRToken()) { $ur = new UserAccountRepository(); $user = $ur->loadByUserName($request->request->get('username')); if ($user) { $repo->addUserToSite($user, $app['currentSite'], $app['currentUser']); return $app->redirect('/admin/usernoteditor/'); } } else { if ($request->request->get('action') == "remove" && $request->request->get('CSFRToken') == $app['websession']->getCSFRToken()) { $ur = new UserAccountRepository(); $user = $ur->loadByID($request->request->get('id')); if ($user) { $repo->removeUserFromSite($user, $app['currentSite'], $app['currentUser']); return $app->redirect('/admin/usernoteditor/'); } } } $userAccountRepoBuilder = new UserAccountRepositoryBuilder(); $userAccountRepoBuilder->setUserHasNoEditorPermissionsInSite($app['currentSite']); return $app['twig']->render('site/admin/listUsersNotEditors.html.twig', array('users' => $userAccountRepoBuilder->fetchAll())); }
function testAddAndRemove() { $this->addCountriesToTestDB(); $user = new UserAccountModel(); $user->setEmail("*****@*****.**"); $user->setUsername("test"); $user->setPassword("password"); $userRepo = new UserAccountRepository(); $userRepo->create($user); $siteModel = new \models\SiteModel(); $siteModel->setTitle("Test"); $siteModel->setSlug("test"); $siteRepository = new \repositories\SiteRepository(); $countryRepository = new \repositories\CountryRepository(); $siteRepository->create($siteModel, $user, array($countryRepository->loadByTwoCharCode("GB")), $this->getSiteQuotaUsedForTesting(), true); // ########################################## Not there $userHasNoEditorPermissionsInSiteRepo = new UserHasNoEditorPermissionsInSiteRepository(); $this->assertFalse($userHasNoEditorPermissionsInSiteRepo->isUserInSite($user, $siteModel)); $userAccountRepoBuilder = new \repositories\builders\UserAccountRepositoryBuilder(); $userAccountRepoBuilder->setUserHasNoEditorPermissionsInSite($siteModel); $this->assertEquals(0, count($userAccountRepoBuilder->fetchAll())); // ########################################## Add $userHasNoEditorPermissionsInSiteRepo->addUserToSite($user, $siteModel); // ########################################## There $this->assertTrue($userHasNoEditorPermissionsInSiteRepo->isUserInSite($user, $siteModel)); $userAccountRepoBuilder = new \repositories\builders\UserAccountRepositoryBuilder(); $userAccountRepoBuilder->setUserHasNoEditorPermissionsInSite($siteModel); $this->assertEquals(1, count($userAccountRepoBuilder->fetchAll())); // ########################################## Remove $userHasNoEditorPermissionsInSiteRepo->removeUserFromSite($user, $siteModel); // ########################################## There $this->assertFalse($userHasNoEditorPermissionsInSiteRepo->isUserInSite($user, $siteModel)); $userAccountRepoBuilder = new \repositories\builders\UserAccountRepositoryBuilder(); $userAccountRepoBuilder->setUserHasNoEditorPermissionsInSite($siteModel); $this->assertEquals(0, count($userAccountRepoBuilder->fetchAll())); }