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: register:
path: /register path: /register
controller: App\Controller\SecurityController::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\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use App\Service\Menus;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
@ -14,9 +14,11 @@ Class HomeController extends AbstractController
{ {
public function index(){ public function index(){
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY'); $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 = $this->getRegisterForm();
$form->handleRequest($request); $form->handleRequest($request);
echo "hey";
if ($form->isSubmitted() && $form->isValid()) if ($form->isSubmitted() && $form->isValid())
{ {
$data = $form->getData(); $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; return (string) $this->email;
} }
public function isGranted($role): bool
{
return in_array($role, $this->getRoles());
}
/** /**
* @see UserInterface * @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> </head>
<body> <body>
<header>{% block header %}<h1>Resources booking manager</h1>{% endblock %}</header> <header>{% block header %}<h1>Resources booking manager</h1>{% endblock %}</header>
<nav></nav> <nav>{% block nav %}{% endblock %}</nav>
{% block overcontent %} {% block overcontent %}
<section id="main"> <section id="main">
{% block content %}{% endblock %} {% block content %}{% include 'menu.html.twig' %}{% endblock %}
</section> </section>
{% endblock %} {% endblock %}
<footer></footer> <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>