Merge remote-tracking branch 'origin/develop' into feature/Back

# Conflicts:
#	public/css/ControllerVues/list.css
#	public/js/GestionMenu/GestionMenu.js
#	templates/index/admin.html.twig
#	templates/user/list.html.twig
This commit is contained in:
Tinka 2025-03-31 10:34:52 +02:00
commit ac6a59abdb
16 changed files with 765 additions and 572 deletions

View File

@ -1,38 +1,29 @@
html{
font-family: "Quicksand Light"; !important;
}
/*h1 {*/
/* text-align: center;*/
/* color: #db5559;*/
/* margin-bottom: 20px;*/
/*}*/
/* Table styles */ /* Table styles */
.table { table {
width: 100%; width: 100%;
border-collapse: collapse; border-collapse: collapse;
margin-bottom: 20px; margin-bottom: 20px;
background-color: #fff; background-color: #fff;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); font-family: sans-serif;
} }
.table th, .table td { table th, table td {
padding: 12px; padding: 12px;
text-align: left; text-align: left;
border: 1px solid #ddd; border: 1px solid #ddd;
} }
.table th { table th {
background-color: #db5559; background-color: #db5559;
color: white; color: white;
font-weight: bold;
} }
.table tr:nth-child(even) { table tr:nth-child(even) {
background-color: #f2f2f2; background-color: #f2f2f2;
} }
.table tr:hover { table tr:hover {
background-color: #ddd; background-color: #ddd;
} }
@ -44,7 +35,7 @@ a {
} }
a:hover { a:hover {
color: #38538e; color: white;
text-decoration: underline; text-decoration: underline;
} }
@ -66,8 +57,25 @@ a[href*="app_clients_new"]:hover {
} }
/* Empty table row message */ /* Empty table row message */
.table td[colspan="6"] { table td[colspan="6"] {
text-align: center; text-align: center;
font-style: italic; font-style: italic;
color: #666; color: #666;
} }
/* Button styles */
.btn-container {
display: flex;
justify-content: center;
margin-bottom: 20px;
}
.btn {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: #db5559;
border-radius: 5px;
font-weight: bold;
margin-top: 25px;
}

View File

@ -6,7 +6,7 @@ document.querySelector('.btn-gestion-menu').addEventListener('click', function(e
fetch('/plats') fetch('/plats')
.then(response => { .then(response => {
if (!response.ok) { if (!response.ok) {
throw new Error('Erreur de chargement de la section Table'); throw new Error('Erreur de chargement de la section Promotions');
} }
return response.text(); return response.text();
}) })
@ -20,14 +20,11 @@ document.querySelector('.btn-gestion-menu').addEventListener('click', function(e
}); });
}); });
function addPlat (event) { function addPlats (event) {
document.getElementById('container_modal'); document.getElementById('container_modal');
fetch('/plats/new') fetch(`/plats/new`)
.then(response => { .then(response => {
if (!response.ok) {
throw new Error('Erreur de chargement de la section tables');
}
return response.text(); return response.text();
}) })
.then(html => { .then(html => {
@ -40,15 +37,14 @@ function addPlat (event) {
}); });
} }
function editMenu (event) {
function updatePromotion (event) {
document.getElementById('container_modal'); document.getElementById('container_modal');
const IdString = event.getAttribute('data-id'); const reductionsIdString = event.getAttribute('data-id');
let Id = parseInt(IdString); let reductionsId = parseInt(reductionsIdString);
fetch(`/plats/${Id}/edit`)
fetch(`/plats/${platsId}/edit`)
.then(response => { .then(response => {
if (!response.ok) {
throw new Error('Erreur de chargement de la section tables');
}
return response.text(); return response.text();
}) })
.then(html => { .then(html => {
@ -60,3 +56,22 @@ function editMenu (event) {
console.error('Erreur:', error); console.error('Erreur:', error);
}); });
} }
function deletePromotion (event) {
document.getElementById('container_modal');
const reductionsIdString = event.getAttribute('data-id');
let reductionsId = parseInt(reductionsIdString);
fetch(`/reductions/${reductionsId}`)
.then(response => {
return response.text();
})
.then(html => {
// Insérer le HTML dans le conteneur et l'afficher
container_modal.innerHTML = html;
container_modal.style.display = 'block';
})
.catch(error => {
console.error('Erreur:', error);
});
}

View File

@ -1,26 +1,150 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title> <title>{% block title %}Welcome!{% endblock %}</title>
<link rel="" href=""> <link rel="" href="">
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Qwitcher+Grypen:wght@400;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Qwitcher+Grypen:wght@400;700&display=swap" rel="stylesheet">
{# bootstrap#} {# bootstrap#}
{# <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">#} {# <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">#}
{% block stylesheets %} {% block stylesheets %}
{% endblock %} <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %}
{% block javascripts %} {# {% block javascripts %}#}
{% block importmap %}{{ importmap('app') }}{% endblock %} {# <script src="{{ asset('js/Compte/CompteModal.js') }}" defer></script>#}
{% endblock %} {# <script src="{{ asset('js/GestionUtilisateurs/GestionUtilisateurs.js') }}" defer></script>#}
</head> {# <script src="{{ asset('js/GestionPromotion/GestionPromotion.js') }}" defer></script>#}
<body> {# <script src="{{ asset('js/GestionTables/GestionTables.js') }}" defer></script>#}
{% block body %}{% endblock %} {# <script src="{{ asset('js/GestionMenu/GestionMenu.js') }}" defer></script>#}
{# {% block importmap %}{{ importmap('app') }}{% endblock %}#}
{# {% endblock %}#}
</head>
<body>
{% block body %}
<style>
</style>
<!-- Top Bar -->
<div class="top-bar">
<div>
Bonjour, {{ app.user.prenom }}
</div>
</div>
<!-- Left Menu -->
<div class="left-background">
<img class="LogoHegre" src="{{ asset('asset/image/LogoHegre.png') }}">
{% if is_granted('ROLE_ADMIN') %}
<div class="nav-bar">
<ul>
<li>
<a href="/user/list" class="btn-custom btn-gestion-utilisateurs icon-container">
<i class="icon-medium">{{ ux_icon('grommet-icons:group') }}</i>
<span>Gérer Utilisateur</span>
</a>
</li>
<li>
<a href="/tables" class="btn-custom btn-gestion-table icon-container">
<i class="icon-medium"> {{ ux_icon('ic:outline-table-bar') }}</i>
<span>Gérer Table</span>
</a>
</li>
<li>
<a href="/plats" class="btn-custom btn-gestion-menu icon-container">
<i class="icon-medium"> {{ ux_icon('bx:food-menu') }}</i>
<span>Gestion Menu</span>
</a>
</li>
<li>
<a href="/reductions" class="btn-custom btn-gestion-promotion icon-container">
<i class="icon-medium"> {{ ux_icon('lsicon:badge-promotion-outline') }}</i>
<span>Gestion Promotion</span>
</a>
</li>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('fluent-emoji-high-contrast:ten-oclock') }}</i>
<span>Voir tendances</span>
</div>
</li>
</ul>
</div>
{% elseif is_granted('ROLE_CUISINIER') %}
<div class="nav-bar">
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('icon-park-outline:view-list') }}</i>
<span>Liste des commandes</span>
</div>
</li>
</ul>
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('grommet-icons:group') }}</i>
<span>Je sais pas encore</span>
</div>
</li>
</ul>
</div>
{% elseif is_granted('ROLE_SERVEUR') %}
<div class="nav-bar">
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('fluent-mdl2:reservation-orders') }}</i>
<span>Réservation</span>
</div>
</li>
</ul>
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('icon-park-outline:view-list') }}</i>
<span>Commande</span>
</div>
</li>
</ul>
</div>
{% endif %}
<div class="Information-perso">
<a href="{{ path('update-user', { 'id': app.user.id }) }}" class="btn-info-compte icon-container">
<i class="icon-medium"> {{ ux_icon('ph:user-circle-fill') }}</i>
<span>Compte</span>
</a>
<div class="btn-info-exit icon-container">
<a href="{{ path('app_logout') }}" class="icon-medium">
{{ ux_icon('iconamoon:exit-bold') }}
</a>
</div>
</div>
</div>
{% block container_modal %}
<div id="container_modal">
<!-- Contenu par défaut, ou vous p ouvez laisser vide -->
</div>
{% endblock %}
<script>
</script>
<!-- Include modals -->
{% endblock %}
{# bootstrap#} {# bootstrap#}
{# <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>#} {# <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>#}
{# <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy" crossorigin="anonymous"></script> </body>#} {# <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy" crossorigin="anonymous"></script> </body>#}
</body> </body>
</html> </html>

View File

@ -10,142 +10,11 @@
{% endblock %} {% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %}
<style>
</style>
<!-- Top Bar -->
<div class="top-bar">
<div>
Bonjour, {{ app.user.prenom }}
</div>
<div class="Information-perso">
<div class="btn-info-compte icon-container">
<i class="icon-medium"> {{ ux_icon('ph:user-circle-fill') }}</i>
<span>Compte</span>
</div>
<div class="btn-info-exit icon-container">
<a href="{{ path('app_logout') }}" class="icon-medium">
{{ ux_icon('iconamoon:exit-bold') }}
</a>
</div>
</div>
</div>
<!-- Left Menu -->
<div class="left-background">
<img class="LogoHegre" src="{{ asset('asset/image/LogoHegre.png') }}">
{% if is_granted('ROLE_ADMIN') %}
<div class="nav-bar">
<ul>
<li>
<div class="btn-custom btn-gestion-utilisateurs icon-container" >
<i class="icon-medium"> {{ ux_icon('grommet-icons:group') }}</i>
<span>Gérer Utilisateur</span>
</div>
</li>
<li>
<div class="btn-custom btn-gestion-table icon-container">
<i class="icon-medium"> {{ ux_icon('ic:outline-table-bar') }}</i>
<span>Gérer Table</span>
</div>
</li>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('bx:food-menu') }}</i>
<span>Gestion Menu</span>
</div>
</li>
<li>
<div class="btn-custom btn-gestion-promotion icon-container">
<i class="icon-medium"> {{ ux_icon('lsicon:badge-promotion-outline') }}</i>
<span>Gestion Promotion</span>
</div>
</li>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('fluent-emoji-high-contrast:ten-oclock') }}</i>
<span>Voir tendances</span>
</div>
</li>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('icon-park-outline:view-list') }}</i>
<span>Commandes</span>
</div>
</li>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('fluent-mdl2:reservation-orders') }}</i>
<span>Réservation</span>
</div>
</li>
</ul>
</div>
{% elseif is_granted('ROLE_CUISINIER') %}
<div class="nav-bar">
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('icon-park-outline:view-list') }}</i>
<span>Liste des commandes</span>
</div>
</li>
</ul>
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('grommet-icons:group') }}</i>
<span>Je sais pas encore</span>
</div>
</li>
</ul>
</div>
{% elseif is_granted('ROLE_SERVEUR') %}
<div class="nav-bar">
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('fluent-mdl2:reservation-orders') }}</i>
<span>Réservation</span>
</div>
</li>
</ul>
<ul>
<li>
<div class="btn-custom icon-container">
<i class="icon-medium"> {{ ux_icon('icon-park-outline:view-list') }}</i>
<span>Commande</span>
</div>
</li>
</ul>
</div>
{% endif %}
</div>
<div id="container_modal">
<!-- Contenu par défaut, ou vous p ouvez laisser vide -->
</div>
<script>
</script>
<!-- Include modals -->
{% endblock %}
{% block javascripts %}
<script src="{{ asset('js/Compte/CompteModal.js') }}" defer></script>
<script src="{{ asset('js/GestionUtilisateurs/GestionUtilisateurs.js') }}" defer></script>
<script src="{{ asset('js/GestionPromotion/GestionPromotion.js') }}" defer></script>
<script src="{{ asset('js/GestionTables/GestionTables.js') }}" defer></script>
{% endblock %}

View File

@ -1,21 +1,41 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Modifier Plat{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %} {% block container_modal %}
<div class="page-container">
<h1 class="page-title">Modifier Plat</h1>
{{ include('plats/_form.html.twig', {'button_label': 'Mettre à jour'}) }} <div id="container_modal">
<div class="page-container">
<h1 class="page-title">Modifier Plat</h1>
<div class="actions"> {{ include('plats/_form.html.twig', {'button_label': 'Mettre à jour'}) }}
<a href="{{ path('app_plats_index') }}">Retour à la liste</a>
<div class="actions">
<a href="{{ path('app_plats_index') }}">Retour à la liste</a>
</div>
{{ include('plats/_delete_form.html.twig') }}
</div> </div>
{{ include('plats/_delete_form.html.twig') }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,15 +1,30 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Plats index{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %}
<h1>Plats index</h1>
<table class="table"> {% block container_modal %}
<thead>
<div id="container_modal">
<h1>Plats index</h1>
<table class="table">
<thead>
<tr> <tr>
<th>Id</th> <th>Id</th>
<th>Nom</th> <th>Nom</th>
@ -20,32 +35,37 @@
<th>Nb_de_commande</th> <th>Nb_de_commande</th>
<th>actions</th> <th>actions</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for plat in plats %} {% for plat in plats %}
<tr> <tr>
<td>{{ plat.id }}</td> <td>{{ plat.id }}</td>
<td>{{ plat.Nom }}</td> <td>{{ plat.Nom }}</td>
<td>{{ plat.Description }}</td> <td>{{ plat.Description }}</td>
<td>{{ plat.Prix }}</td> <td>{{ plat.Prix }}</td>
<td>{{ plat.Categorie }}</td> <td>{{ plat.Categorie }}</td>
<td>{{ plat.Statut ? 'Yes' : 'No' }}</td> <td>{{ plat.Statut ? 'Yes' : 'No' }}</td>
<td>{{ plat.NbDeCommande }}</td> <td>{{ plat.NbDeCommande }}</td>
<td> <td>
<form method="post" action="{{ path('app_plats_delete', {'id': plat.id}) }}" onsubmit="return confirm('Es-tu sur de vouloir le supprimer ?');"> <form method="post" action="{{ path('app_plats_delete', {'id': plat.id}) }}" onsubmit="return confirm('Es-tu sur de vouloir le supprimer ?');">
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ plat.id) }}"> <input type="hidden" name="_token" value="{{ csrf_token('delete' ~ plat.id) }}">
{{ include('plats/_delete_form.html.twig') }} {{ include('plats/_delete_form.html.twig') }}
</form> </form>
<a href="{{ path('app_plats_edit', {'id': plat.id}) }}">Modifier</a> <a href="{{ path('app_plats_edit', {'id': plat.id}) }}">Modifier</a>
</td> </td>
</tr> </tr>
{% else %} {% else %}
<tr> <tr>
<td colspan="8">Aucun enregistrement trouvé</td> <td colspan="8">Aucun enregistrement trouvé</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<a href="{{ path('app_plats_new') }}">Créer un menu</a>
</div>
<a href="{{ path('app_plats_new') }}">Créer un nouveau plat</a>
{% endblock %} {% endblock %}

View File

@ -1,14 +1,34 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}New Plats{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/new.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %}
{% block container_modal %}
<div id="container_modal">
<h1>Créer un nouveau plat</h1>
{{ include('plats/_form.html.twig') }}
<a href="{{ path('app_plats_index') }}">Retour à la liste</a>
</div>
{% endblock %} {% endblock %}
{% block body %}
<h1>Créer un nouveau plat</h1>
{{ include('plats/_form.html.twig') }}
<a href="{{ path('app_plats_index') }}">Retour à la liste</a>
{% endblock %}

View File

@ -1,21 +1,41 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Modifier Réductions{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %} {% block container_modal %}
<div class="page-container">
<h1 class="page-title">Modifier une réduction</h1>
{{ include('reductions/_form.html.twig', {'button_label': 'Mettre à jour'}) }} <div id="container_modal">
<div class="page-container">
<h1 class="page-title">Modifier une réduction</h1>
<div class="actions"> {{ include('reductions/_form.html.twig', {'button_label': 'Mettre à jour'}) }}
<a href="{{ path('app_reductions_index') }}">Retour à la liste</a>
<div class="actions">
<a href="{{ path('app_reductions_index') }}">Retour à la liste</a>
</div>
{{ include('reductions/_delete_form.html.twig') }}
</div> </div>
{{ include('reductions/_delete_form.html.twig') }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,15 +1,30 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Reductions index{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %}
<h1>Reductions index</h1>
<table class="table"> {% block container_modal %}
<thead>
<div id="container_modal">
<h1>Reductions index</h1>
<table class="table">
<thead>
<tr> <tr>
<th>Id</th> <th>Id</th>
<th>Description</th> <th>Description</th>
@ -20,36 +35,37 @@
<th>DateFin</th> <th>DateFin</th>
<th>actions</th> <th>actions</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for reduction in reductions %} {% for reduction in reductions %}
<tr> <tr>
<td>{{ reduction.id }}</td> <td>{{ reduction.id }}</td>
<td>{{ reduction.Description }}</td> <td>{{ reduction.Description }}</td>
<td>{{ reduction.Prix }}</td> <td>{{ reduction.Prix }}</td>
<td>{{ reduction.Pourcentage }}</td> <td>{{ reduction.Pourcentage }}</td>
<td>{{ reduction.MontantFixe }}</td> <td>{{ reduction.MontantFixe }}</td>
<td>{{ reduction.DateDebut ? reduction.DateDebut|date('Y-m-d H:i:s') : '' }}</td> <td>{{ reduction.DateDebut ? reduction.DateDebut|date('Y-m-d H:i:s') : '' }}</td>
<td>{{ reduction.DateFin ? reduction.DateFin|date('Y-m-d H:i:s') : '' }}</td> <td>{{ reduction.DateFin ? reduction.DateFin|date('Y-m-d H:i:s') : '' }}</td>
<td> <td>
<form method="post" action="{{ path('app_reductions_delete', {'id': reduction.id}) }}" onsubmit="return confirm('Es-tu sur de vouloir le supprimer ?'); "> <form method="post" action="{{ path('app_reductions_delete', {'id': reduction.id}) }}" onsubmit="return confirm('Es-tu sur de vouloir le supprimer ?'); ">
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ reduction.id) }}"> <input type="hidden" name="_token" value="{{ csrf_token('delete' ~ reduction.id) }}">
{{ include('reductions/_delete_form.html.twig') }} {{ include('reductions/_delete_form.html.twig') }}
</form> </form>
<button onclick="updatePromotion(this)" data-id="{{ reduction.id }}" href="{{ path('app_reductions_edit', {'id': reduction.id}) }}">Modifier</button> <a href="{{ path('app_reductions_edit', {'id': reduction.id}) }}">Modifier</a>
</td> </td>
</tr> </tr>
{% else %} {% else %}
<tr> <tr>
<td colspan="8">Aucun enregistrement trouvé</td> <td colspan="8">Aucun enregistrement trouvé</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<a href="{{ path('app_reductions_new') }}">Créer une réduction</a>
</div>
<button onclick="addPromotion(this)" href="{{ path('app_reductions_new') }}">Créer une réduction</button>
{% endblock %} {% endblock %}
{% block javascripts %}
<script src="{{ asset('js/GestionPromotion/GestionPromotion.js') }}" defer></script>
{% endblock %}

View File

@ -1,14 +1,35 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Nouvelle reduction{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/new.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %}
{% block container_modal %}
<div id="container_modal">
<h1>Créer une Reduction</h1>
{{ include('reductions/_form.html.twig') }}
<a href="{{ path('app_reductions_index') }}">Retour à la liste</a>
</div>
{% endblock %} {% endblock %}
{% block body %}
<h1>Créer une Reduction</h1>
{{ include('reductions/_form.html.twig') }}
<a href="{{ path('app_reductions_index') }}">Retour à la liste</a>
{% endblock %}

View File

@ -1,21 +1,38 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Edit Tables{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/edit.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %} {% block container_modal %}
<div class="page-container"> <div id="container_modal">
<h1 class="page-title">Modifier Tables</h1> <div class="page-container">
<h1 class="page-title">Modifier Tables</h1>
{{ include('tables/_form.html.twig', {'button_label': 'Mettre à jour'}) }} {{ include('tables/_form.html.twig', {'button_label': 'Mettre à jour'}) }}
<div class="actions"> <div class="actions">
<a href="{{ path('app_tables_index') }}">Retour à la liste</a> <a href="{{ path('app_tables_index') }}">Retour à la liste</a>
</div>
{{ include('tables/_delete_form.html.twig') }}
</div> </div>
{{ include('tables/_delete_form.html.twig') }}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,43 +1,57 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Tables index{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %}
<h1>Tables index</h1>
<table class="table"> {% block container_modal %}
<thead>
<div id="container_modal">
<h1>Tables index</h1>
<table class="table">
<thead>
<tr> <tr>
<th>Id</th> <th>Id</th>
<th>actions</th> <th>actions</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for table in tables %} {% for table in tables %}
<tr> <tr>
<td>{{ table.id }}</td> <td>{{ table.id }}</td>
<td> <td>
<form method="post" action="{{ path('app_tables_delete', {'id': table.id}) }}" onsubmit="return confirm('Es-tu sur de vouloir le supprimer ?');"> <form method="post" action="{{ path('app_tables_delete', {'id': table.id}) }}" onsubmit="return confirm('Es-tu sur de vouloir le supprimer ?');">
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ table.id) }}"> <input type="hidden" name="_token" value="{{ csrf_token('delete' ~ table.id) }}">
{{ include('tables/_delete_form.html.twig') }} {{ include('tables/_delete_form.html.twig') }}
</form> </form>
<a href="{{ path('app_tables_edit', {'id': table.id}) }}">Modifier</a> <a href="{{ path('app_tables_edit', {'id': table.id}) }}">Modifier</a>
</td> </td>
</tr> </tr>
{% else %} {% else %}
<tr> <tr>
<td colspan="2">Aucun enregistrement trouvé</td> <td colspan="2">Aucun enregistrement trouvé</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<a onclick="addTable(this)" href="{{ path('app_tables_new')}}">Créer une tables</a>
</div>
<button onclick="addTable(this)" href="{{ path('app_reductions_new') }}">Créer une tables</button>
{% endblock %} {% endblock %}
{% block javascripts %}
<script src="{{ asset('js/GestionPromotion/GestionPromotion.js') }}" defer></script>
{% endblock %}

View File

@ -1,22 +1,37 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Create New Table{% endblock %} {% block title %}Tables index{% endblock %}
{% block head %}
<head>
<meta charset="UTF-8">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
<link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
{% endblock %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('css/list.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/ControllerVues/new.css') }}"> <!-- Ajout du fichier CSS --> <link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %} {% endblock %}
{% block body %} {% block container_modal %}
<div class="container">
<h1 class="page-title">Créer une nouvelle Table</h1>
<div class="form-container"> <div id="container_modal">
{{ include('tables/_form.html.twig') }} <div class="container">
</div> <h1 class="page-title">Créer une nouvelle Table</h1>
<div class="navigation"> <div class="form-container">
<a href="{{ path('app_tables_index') }}" class="btn btn-secondary">Retour à la liste</a> {{ include('tables/_form.html.twig') }}
</div>
<div class="navigation">
<a href="{{ path('app_tables_index') }}" class="btn btn-secondary">Retour à la liste</a>
</div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,101 +1,123 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block stylesheets %} {% block title %}Tables index{% endblock %}
<style>
.form-container {
max-width: 500px;
margin: 0 auto;
padding: 20px;
background-color: #f8f9fa;
border: 1px solid #dee2e6;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
font-family: sans-serif;
}
.form-container h1 { {% block head %}
text-align: center; <head>
margin-bottom: 20px; <meta charset="UTF-8">
font-size: 24px; <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
} <link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
.form-group {
margin-bottom: 15px;
}
.form-input {
display: flex;
justify-content: center;
margin-bottom: 20px;
width: 95%;
padding: 10px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
}
.form-input:focus {
border-color: #007bff;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
outline: none;
}
.btn-container {
display: flex;
justify-content: center;
margin-bottom: 20px;
}
.btn-save {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: #007bff;
border-radius: 5px;
font-weight: bold;
margin-top: 25px;
}
.btn-list {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: orange;
border-radius: 5px;
font-weight: bold;
}
</style>
{% endblock %} {% endblock %}
{% block title %}Nouvelle Utilisateur{% endblock %} {% block container_modal %}
{% block body %} <div id="container_modal">
<div class="form-container"> <div class="form-container">
<h1>Nouvelle Utilisateur ! ✅</h1> <h1>Nouvelle Utilisateur ! ✅</h1>
{{ form_start(registrationForm) }} {{ form_start(registrationForm) }}
{{ form_errors(registrationForm) }} {{ form_errors(registrationForm) }}
<div class="form-group"> <div class="form-group">
{{ form_row(registrationForm.Nom, {'attr': {'class': 'form-input'}, 'label': 'Nom'}) }} {{ form_row(registrationForm.Nom, {'attr': {'class': 'form-input'}, 'label': 'Nom'}) }}
</div> </div>
<div class="form-group"> <div class="form-group">
{{ form_row(registrationForm.Prenom, {'attr': {'class': 'form-input'}, 'label': 'Prénom'}) }} {{ form_row(registrationForm.Prenom, {'attr': {'class': 'form-input'}, 'label': 'Prénom'}) }}
</div> </div>
<div class="form-group"> <div class="form-group">
{{ form_row(registrationForm.UserIdentifier, {'attr': {'class': 'form-input'}, 'label': 'Email'}) }} {{ form_row(registrationForm.UserIdentifier, {'attr': {'class': 'form-input'}, 'label': 'Email'}) }}
</div> </div>
<div class="form-group"> <div class="form-group">
{{ form_row(registrationForm.Password, {'attr': {'class': 'form-input'}, 'label': 'Password'}) }} {{ form_row(registrationForm.Password, {'attr': {'class': 'form-input'}, 'label': 'Password'}) }}
</div> </div>
<div class="form-group"> <div class="form-group">
{{ form_row(registrationForm.Roles, {'attr': {'class': 'form-input'}, 'label': 'Roles'}) }} {{ form_row(registrationForm.Roles, {'attr': {'class': 'form-input'}, 'label': 'Roles'}) }}
</div> </div>
<div class="btn-container"> <div class="btn-container">
{{ form_row(registrationForm.Enregistrer, {'attr': {'class': 'btn-save'}, 'label': 'Enregistrer'}) }} {{ form_row(registrationForm.Enregistrer, {'attr': {'class': 'btn-save'}, 'label': 'Enregistrer'}) }}
</div> </div>
{{ form_end(registrationForm) }} {{ form_end(registrationForm) }}
</div>
</div> </div>
{% block stylesheets %}
<style>
.form-container {
max-width: 500px;
margin: 0 auto;
padding: 20px;
background-color: #f8f9fa;
border: 1px solid #dee2e6;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
font-family: sans-serif;
}
.form-container h1 {
text-align: center;
margin-bottom: 20px;
font-size: 24px;
}
.form-group {
margin-bottom: 15px;
}
.form-input {
display: flex;
justify-content: center;
margin-bottom: 20px;
width: 95%;
padding: 10px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
}
.form-input:focus {
border-color: #007bff;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
outline: none;
}
.btn-container {
display: flex;
justify-content: center;
margin-bottom: 20px;
}
.btn-save {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: #007bff;
border-radius: 5px;
font-weight: bold;
margin-top: 25px;
}
.btn-list {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: orange;
border-radius: 5px;
font-weight: bold;
}
</style>
<link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %}
{% endblock %} {% endblock %}

View File

@ -1,88 +1,62 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Liste Utilisateur{% endblock %} {% block title %}Tables index{% endblock %}
{% block body %} {% block head %}
<style> <head>
.user-table { <meta charset="UTF-8">
width: 100%; <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
border-collapse: collapse; <link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
font-family: sans-serif; </head>
} {% endblock %}
.user-table th, {% block stylesheets %}
.user-table td { <link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
border: 1px solid #ddd; <link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
padding: 8px; <link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
text-align: left; <link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
} {% endblock %}
.user-table th { {% block container_modal %}
background-color: #f2f2f2;
font-weight: bold;
}
.user-table tr:nth-child(even) { <div id="container_modal">
background-color: #f9f9f9; <div class="example-wrapper">
} <h1>Liste des Utilisateurs ! ✅</h1>
.user-table tr:hover { <table class="user-table">
background-color: #f1f1f1; <thead>
} <tr>
<th>ID</th>
.btn-container { <th>Nom</th>
display: flex; <th>Prenom</th>
justify-content: center; <th>Mail</th>
margin-bottom: 20px; <th>Roles</th>
} </tr>
</thead>
.btn { <tbody>
padding: 5px 10px; {% for utilisateur in utilisateurs %}
text-decoration: none; <tr>
color: white; <td>{{ utilisateur.id }}</td>
background-color: #007bff; <td>{{ utilisateur.nom }}</td>
border-radius: 5px; <td>{{ utilisateur.prenom }}</td>
font-weight: bold; <td>{{ utilisateur.UserIdentifier }}</td>
margin-top: 25px; <td>{{ utilisateur.RolesAsString }}</td>
} </tr>
{% else %}
</style> <tr>
<td colspan="5">Aucun utilisateur trouvé.</td>
<div class="example-wrapper"> </tr>
<h1>Liste des Utilisateurs ! ✅</h1> {% endfor %}
</tbody>
<table class="user-table"> </table>
<thead> <div class="btn-container">
<tr> <a href="/user/add" id="btn-add-user" class="btn btn-add-user btn-primary" >Ajouter un Utilisateur</a>
<th>ID</th> </div>
<th>Nom</th> </div>
<th>Prenom</th>
<th>Mail</th>
<th>Roles</th>
</tr>
</thead>
<tbody>
{% for utilisateur in utilisateurs %}
<tr>
<td>{{ utilisateur.id }}</td>
<td>{{ utilisateur.nom }}</td>
<td>{{ utilisateur.prenom }}</td>
<td>{{ utilisateur.UserIdentifier }}</td>
<td>{{ utilisateur.RolesAsString }}</td>
</tr>
{% else %}
<tr>
<td colspan="5">Aucun utilisateur trouvé.</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="btn-container">
<button onclick="addUser(this)" id="btn-add-user" class="btn btn-add-user btn-primary">Ajouter un Utilisateur</button>
</div> </div>
</div>
{% endblock %} {% endblock %}
{% block javascripts %}
<script src="{{ asset('js/GestionUtilisateurs/GestionMenu.js') }}" defer></script>
{% endblock %}

View File

@ -1,77 +1,18 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block stylesheets %} {% block title %}Tables index{% endblock %}
<style>
.form-container {
max-width: 500px;
margin: 0 auto;
padding: 20px;
background-color: #f8f9fa;
border: 1px solid #dee2e6;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
font-family: sans-serif;
}
.form-container h1 { {% block head %}
text-align: center; <head>
margin-bottom: 20px; <meta charset="UTF-8">
font-size: 24px; <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
} <link href="https://fonts.cdnfonts.com/css/brittany-signature" rel="stylesheet">
</head>
.form-group {
margin-bottom: 15px;
}
.form-input {
display: flex;
justify-content: center;
margin-bottom: 20px;
width: 95%;
padding: 10px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
}
.form-input:focus {
border-color: #007bff;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
outline: none;
}
.btn-container {
display: flex;
justify-content: center;
margin-bottom: 20px;
}
.btn-save {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: #007bff;
border-radius: 5px;
font-weight: bold;
margin-top: 25px;
}
.btn-list {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: red;
border-radius: 5px;
font-weight: bold;
}
</style>
{% endblock %} {% endblock %}
{% block title %}Nouvelle Utilisateur{% endblock %} {% block container_modal %}
{% block body %} <div id="container_modal">
<div class="form-container">
<h1>Modifier Utilisateurs ! ✅</h1> <h1>Modifier Utilisateurs ! ✅</h1>
{{ form_start(form) }} {{ form_start(form) }}
@ -102,4 +43,81 @@
<a href="{{ path('app_index') }}" class="btn-list btn-primary">Annuler</a> <a href="{{ path('app_index') }}" class="btn-list btn-primary">Annuler</a>
</div> </div>
</div> </div>
{% block stylesheets %}
<style>
.form-container {
max-width: 500px;
margin: 0 auto;
padding: 20px;
background-color: #f8f9fa;
border: 1px solid #dee2e6;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
font-family: sans-serif;
}
.form-container h1 {
text-align: center;
margin-bottom: 20px;
font-size: 24px;
}
.form-group {
margin-bottom: 15px;
}
.form-input {
display: flex;
justify-content: center;
margin-bottom: 20px;
width: 95%;
padding: 10px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
}
.form-input:focus {
border-color: #007bff;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
outline: none;
}
.btn-container {
display: flex;
justify-content: center;
margin-bottom: 20px;
}
.btn-save {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: #007bff;
border-radius: 5px;
font-weight: bold;
margin-top: 25px;
}
.btn-list {
padding: 5px 10px;
text-decoration: none;
color: white;
background-color: red;
border-radius: 5px;
font-weight: bold;
}
</style>
<link rel="stylesheet" href="{{ asset('css/ControllerVues/list.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Index/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/Compte/index.css') }}"> <!-- Ajout du fichier CSS -->
<link rel="stylesheet" href="{{ asset('css/GestionUtilisateurs/GestionUtilisateurs.css') }}"> <!-- Ajout du fichier CSS -->
{% endblock %}
{% endblock %} {% endblock %}