added role ROLE_SUPER_ADMIN (#15) (#17)

This commit is contained in:
Kevin Papst
2018-01-05 10:12:33 +01:00
committed by GitHub
parent fab663dae1
commit c77ad67da9
4 changed files with 15 additions and 66 deletions

View File

@@ -46,7 +46,7 @@ security:
ROLE_USER: ROLE_CUSTOMER
ROLE_TEAMLEAD: ROLE_USER
ROLE_ADMIN: ROLE_TEAMLEAD
ROLE_SUPER_ADMIN: [ROLE_ADMIN]
ROLE_SUPER_ADMIN: ROLE_ADMIN
access_control:
# this is a catch-all for the admin area

View File

@@ -23,7 +23,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache;
* Controller used to manage users in the admin part of the site.
*
* @Route("/admin/user")
* @Security("has_role('ROLE_ADMIN')")
* @Security("has_role('ROLE_SUPER_ADMIN')")
*
* @author Kevin Papst <kevin@kevinpapst.de>
*/

View File

@@ -33,7 +33,6 @@ class LoadFixtures implements FixtureInterface, ContainerAwareInterface
public function load(ObjectManager $manager)
{
$this->loadUsers($manager);
//$this->loadPosts($manager);
}
private function loadUsers(ObjectManager $manager)
@@ -80,6 +79,16 @@ class LoadFixtures implements FixtureInterface, ContainerAwareInterface
$annaAdmin->setPassword($encodedPassword);
$manager->persist($annaAdmin);
$susanSuper = new User();
$susanSuper->setAlias('Susan Sanchez');
$susanSuper->setTitle('Super Administrator');
$susanSuper->setUsername('susan_super');
$susanSuper->setEmail('susan_super@example.com');
$susanSuper->setRoles(['ROLE_SUPER_ADMIN']);
$encodedPassword = $passwordEncoder->encodePassword($susanSuper, 'kitten');
$susanSuper->setPassword($encodedPassword);
$manager->persist($susanSuper);
$manager->flush();
}
@@ -91,46 +100,6 @@ class LoadFixtures implements FixtureInterface, ContainerAwareInterface
$this->container = $container;
}
protected function getPostContent()
{
return <<<MARKDOWN
Lorem ipsum dolor sit amet consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et **dolore magna aliqua**: Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.
* Ut enim ad minim veniam
* Quis nostrud exercitation *ullamco laboris*
* Nisi ut aliquip ex ea commodo consequat
Praesent id fermentum lorem. Ut est lorem, fringilla at accumsan nec, euismod at
nunc. Aenean mattis sollicitudin mattis. Nullam pulvinar vestibulum bibendum.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos
himenaeos. Fusce nulla purus, gravida ac interdum ut, blandit eget ex. Duis a
luctus dolor.
Integer auctor massa maximus nulla scelerisque accumsan. *Aliquam ac malesuada*
ex. Pellentesque tortor magna, vulputate eu vulputate ut, venenatis ac lectus.
Praesent ut lacinia sem. Mauris a lectus eget felis mollis feugiat. Quisque
efficitur, mi ut semper pulvinar, urna urna blandit massa, eget tincidunt augue
nulla vitae est.
Ut posuere aliquet tincidunt. Aliquam erat volutpat. **Class aptent taciti**
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi
arcu orci, gravida eget aliquam eu, suscipit et ante. Morbi vulputate metus vel
ipsum finibus, ut dapibus massa feugiat. Vestibulum vel lobortis libero. Sed
tincidunt tellus et viverra scelerisque. Pellentesque tincidunt cursus felis.
Sed in egestas erat.
Aliquam pulvinar interdum massa, vel ullamcorper ante consectetur eu. Vestibulum
lacinia ac enim vel placerat. Integer pulvinar magna nec dui malesuada, nec
congue nisl dictum. Donec mollis nisl tortor, at congue erat consequat a. Nam
tempus elit porta, blandit elit vel, viverra lorem. Sed sit amet tellus
tincidunt, faucibus nisl in, aliquet libero.
MARKDOWN;
}
protected function getPhrases()
{
return [
@@ -163,24 +132,4 @@ MARKDOWN;
return $titles[array_rand($titles)];
}
private function getRandomPostSummary($maxLength = 255)
{
$phrases = $this->getPhrases();
$numPhrases = mt_rand(6, 12);
shuffle($phrases);
return substr(implode(' ', array_slice($phrases, 0, $numPhrases-1)), 0, $maxLength);
}
private function getRandomCommentContent()
{
$phrases = $this->getPhrases();
$numPhrases = mt_rand(2, 15);
shuffle($phrases);
return implode(' ', array_slice($phrases, 0, $numPhrases-1));
}
}

View File

@@ -59,10 +59,10 @@ class MenuBuilder
$request = $event->getRequest();
$isLoggedIn = $this->security->isGranted('IS_AUTHENTICATED_FULLY');
$isTeamlead = $isLoggedIn && $this->security->isGranted('ROLE_TEAMLEAD');
$isAdmin = $isLoggedIn && $this->security->isGranted('ROLE_ADMIN');
$isSuperAdmin = $isLoggedIn && $this->security->isGranted('ROLE_SUPER_ADMIN');
$event->addItem(
new MenuItemModel('dashboard', 'menu.homepage', 'dashboard', [], 'fa fa-dashboard') // fa-home
new MenuItemModel('dashboard', 'menu.homepage', 'dashboard', [], 'fa fa-dashboard')
);
$this->eventDispatcher->dispatch(
@@ -78,7 +78,7 @@ class MenuBuilder
$admin = new MenuItemModel('admin', 'menu.admin', '', [], 'fa fa-wrench');
$event->addItem($admin);
if ($isAdmin) {
if ($isSuperAdmin) {
$admin->addChild(
new MenuItemModel('user_admin', 'menu.admin_user', 'admin_user', [], 'fa fa-user')
);