un debut de menu

This commit is contained in:
Gnieark 2019-12-31 15:39:59 +01:00
parent 12ac1aba25
commit c497724c7b
8 changed files with 73 additions and 8 deletions

View File

@ -16,4 +16,9 @@ registerForm:
register:
path: /register
controller: App\Controller\SecurityController::register
methods: POST
methods: POST
users:
path: /users
controller: App\Controller\SecurityController::showUserManagePage
methods: GET

View File

@ -5,7 +5,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use App\Service\Menus;
use Doctrine\ORM\EntityManagerInterface;
@ -14,9 +14,11 @@ Class HomeController extends AbstractController
{
public function index(){
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
return new Response(
"Hey"
);
$menus = new Menus();
return $this->render('main.html.twig', [
"menus" => $menus->getMenus( $this->getUser() )
]);
}
}

View File

@ -68,7 +68,6 @@ class SecurityController extends AbstractController
{
$form = $this->getRegisterForm();
$form->handleRequest($request);
echo "hey";
if ($form->isSubmitted() && $form->isValid())
{
$data = $form->getData();
@ -94,4 +93,9 @@ class SecurityController extends AbstractController
}
public function showUserManagePage()
{
}
}

View File

@ -70,6 +70,11 @@ class User implements UserInterface
return (string) $this->email;
}
public function isGranted($role): bool
{
return in_array($role, $this->getRoles());
}
/**
* @see UserInterface
*/

34
src/Service/Menus.php Normal file
View File

@ -0,0 +1,34 @@
<?php
namespace App\Service;
use App\Entity\User;
Class Menus
{
public function getMenus(User $user)
{
$menus = array(
array(
"route" => "app_logout",
"title" => "log out"
),
);
if( $user->isGranted('SUPER_ADMIN') )
{
$menus[] = array(
"route" => "users",
"title" => "Users"
);
}
return $menus;
}
}

View File

@ -10,10 +10,10 @@
</head>
<body>
<header>{% block header %}<h1>Resources booking manager</h1>{% endblock %}</header>
<nav></nav>
<nav>{% block nav %}{% endblock %}</nav>
{% block overcontent %}
<section id="main">
{% block content %}{% endblock %}
{% block content %}{% include 'menu.html.twig' %}{% endblock %}
</section>
{% endblock %}
<footer></footer>

8
templates/main.html.twig Normal file
View File

@ -0,0 +1,8 @@
{% extends 'base.html.twig' %}
{% block header %}<h1>Gestionnaire de ressources</h1>{% endblock %}
{% block title %}Page d'accueil{% endblock %}
{% block nav %}{% include 'menus.html.twig' %}{% endblock %}
{% block content %}Hey hey!{% endblock %}

View File

@ -0,0 +1,7 @@
<ul>
{% for m in menus %}
<li>
<a href="{{ path(m.route) }}">{{ m.title }}</a>
</li>
{% endfor %}
</ul>