Commit 59f8f5bc authored by Mat's avatar Mat

améliorations

parent cf181e2f
...@@ -4,6 +4,7 @@ namespace PotageBundle\Controller; ...@@ -4,6 +4,7 @@ namespace PotageBundle\Controller;
use PotageBundle\Entity\Commande; use PotageBundle\Entity\Commande;
use PotageBundle\Entity\CommandeLegumes; use PotageBundle\Entity\CommandeLegumes;
use PotageBundle\Entity\Depot;
use PotageBundle\Entity\Groupe; use PotageBundle\Entity\Groupe;
use PotageBundle\Entity\Lettre; use PotageBundle\Entity\Lettre;
use PotageBundle\Entity\Offre; use PotageBundle\Entity\Offre;
...@@ -145,14 +146,21 @@ class MembreController extends MasterController ...@@ -145,14 +146,21 @@ class MembreController extends MasterController
$total += $item->getPrix(); $total += $item->getPrix();
} }
} }
$commande->setPrixTotal($total);
$em = $this->getDoctrine()->getManager(); if ($total !== 0) {
$em->persist($commande);
$em->flush(); $commande->setPrixTotal($total);
$this->addFlash('success', 'Votre commande a bien été enregistrée.');
$em = $this->getDoctrine()->getManager();
return $this->redirectToRoute('potage_resume'); $em->persist($commande);
$em->flush();
$this->addFlash('success', 'Votre commande a bien été enregistrée.');
return $this->redirectToRoute('potage_resume');
} else {
$this->addFlash('warning', 'Votre panier est encore vide.');
}
} }
...@@ -173,6 +181,7 @@ class MembreController extends MasterController ...@@ -173,6 +181,7 @@ class MembreController extends MasterController
/** /**
* Récupère la chaîne d'objets * Récupère la chaîne d'objets
* User -> Utilisateur -> Groupes -> Lettres -> Offre -> Legumes * User -> Utilisateur -> Groupes -> Lettres -> Offre -> Legumes
* -> Depot
* *
* @param User $user * @param User $user
* @return \Doctrine\Common\Collections\Collection * @return \Doctrine\Common\Collections\Collection
...@@ -188,8 +197,12 @@ class MembreController extends MasterController ...@@ -188,8 +197,12 @@ class MembreController extends MasterController
foreach ($groupes as $groupe) foreach ($groupes as $groupe)
{ {
/** /**
* @var Depot $depot
* @var Lettre $lettre * @var Lettre $lettre
*/ */
$depot = $groupe->getDepot();
dump($depot);
$lettres = $groupe->getLettres(); $lettres = $groupe->getLettres();
foreach ($lettres as $lettre) foreach ($lettres as $lettre)
{ {
......
{% if groupe.lettres %} <h1>Les offres en cours</h1>
{% for lettre in groupe.lettres %}
{% if lettre.offre.status == 'current' %} {% for groupe in groupes %}
<li> {% if groupe.lettres %}
<a href="{{ path('potage_today_one', { 'offre_ref': lettre.offre.reference }) }}" > <div class="cartouche ml-5 mt-5">
Offre {{ lettre.offre.reference }} <h3 class="mb-2">Groupe de {{ groupe.nom }}</h3>
</a><br> <p>
<strong>Livraison</strong>: chaque
Infolettre {{ lettre.reference }} → Période du {{ lettre.startedAt|date('d/m/Y') }} au {{ lettre.endedAt|date('d/m/Y') }}<br> {{ groupe.depot.jourPanier|replace({
Sujet: {{ lettre.subject }}<br> '1': 'lundi',
Pour: Groupe de {{ groupe.nom }} '2': 'mardi',
'3': 'mercredi',
</li> '4': 'jeudi',
{% endif %} '5': 'vendredi',
{% endfor %} '6': 'samedi',
{% endif %} '7': 'dimanche',
}) }}, à partir de
{{ groupe.depot.heurePanier|date('H:i') }}<br>
<strong>Point de dépôt</strong>: {{ groupe.depot.localisation }}<br>
{##}
</p>
</div>
<ul>
{% for lettre in groupe.lettres %}
{% if lettre.offre.status == 'current' %}
<li class="mb-3">
<a href="{{ path('potage_today_one', { 'offre_ref': lettre.offre.reference }) }}" >
Offre {{ lettre.offre.reference }}
</a><br>
<i class="far fa-envelope fa-fw"></i> {{ lettre.reference }} → Période du {{ lettre.startedAt|date('d/m/Y') }} au {{ lettre.endedAt|date('d/m/Y') }}<br>
Sujet: {{ lettre.subject }}<br>
</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% endfor %}
<div class="col-7"> {% if offreOne is not null %}
<div class="col-7">
{% if groupeOne is not null %} <div class="livraison">
<div class="livraison"> <h3>Groupe de {{ groupeOne.nom }}</h3>
<h3>Groupe de {{ groupeOne.nom }}</h3>
<p>
<strong>Livraison</strong>: chaque
{{ groupeOne.depot.jourPanier|replace({
'1': 'lundi',
'2': 'mardi',
'3': 'mercredi',
'4': 'jeudi',
'5': 'vendredi',
'6': 'samedi',
'7': 'dimanche',
}) }}, à partir de
{{ groupeOne.depot.heurePanier|date('H:i') }}<br>
<strong>Point de dépôt</strong>: {{ groupeOne.depot.localisation }}<br>
</p>
</div>
{% endif %}
</div>
<div class="col-5">
{% if app.user %}
<div class="user">
{% if app.user.utilisateur %}
<h3>{{ app.user.utilisateur.prenom }} {{ app.user.utilisateur.nom }}</h3>
{% endif %}
<p> <p>
{% if is_granted('ROLE_SUPER_ADMIN') %}Administrateur<br> <strong>Livraison</strong>: chaque
{% elseif is_granted('ROLE_ADMIN') %}Maraîcher<br>{% else %}{% endif %} {{ groupeOne.depot.jourPanier|replace({
Username: {{ app.user.username }}<br> '1': 'lundi',
Email: {{ app.user.email }}<br> '2': 'mardi',
{# '3': 'mercredi',
Dernière connexion: {{ app.user.lastLogin|date("d M Y, à H:i:s") }} '4': 'jeudi',
#} '5': 'vendredi',
'6': 'samedi',
'7': 'dimanche',
}) }}, à partir de
{{ groupeOne.depot.heurePanier|date('H:i') }}<br>
<strong>Point de dépôt</strong>: {{ groupeOne.depot.localisation }}<br>
</p> </p>
</div> </div>
{% endif %}
</div> </div>
\ No newline at end of file <div class="col-5">
{% if app.user %}
<div class="user">
{% if app.user.utilisateur %}
<h3>{{ app.user.utilisateur.prenom }} {{ app.user.utilisateur.nom }}</h3>
{% endif %}
<p>
{% if is_granted('ROLE_SUPER_ADMIN') %}Administrateur<br>
{% elseif is_granted('ROLE_ADMIN') %}Maraîcher<br>{% else %}{% endif %}
Username: {{ app.user.username }}<br>
Email: {{ app.user.email }}<br>
{#
Dernière connexion: {{ app.user.lastLogin|date("d M Y, à H:i:s") }}
#}
</p>
</div>
{% endif %}
</div>
{% endif %}
...@@ -12,6 +12,14 @@ ...@@ -12,6 +12,14 @@
</tbody> </tbody>
</table> </table>
{% for label, messages in app.flashes() %}
{% for message in messages %}
<div class="alert alert-{{ label }}" role="alert">
{{ message }}
</div>
{% endfor %}
{% endfor %}
{{ form_start(formCommande) }} {{ form_start(formCommande) }}
<ul id="commandeLegumes"> <ul id="commandeLegumes">
{% for legume in formCommande.commandeLegumes %} {% for legume in formCommande.commandeLegumes %}
...@@ -28,7 +36,6 @@ ...@@ -28,7 +36,6 @@
<span class="h1"><i class="far fa-lightbulb"></i></span> <span class="h1"><i class="far fa-lightbulb"></i></span>
Pour remplir votre panier, survolez les articles proposés et déplacez le curseur ! Pour remplir votre panier, survolez les articles proposés et déplacez le curseur !
</p> </p>
</div> </div>
</div> </div>
......
...@@ -22,14 +22,10 @@ ...@@ -22,14 +22,10 @@
{% else %} {% else %}
{% if groupes %} {% if groupes %}
<ul>
{% for groupe in groupes %}
{# ou si aucune offre n'est pointée spécifiquement #} {# ou si aucune offre n'est pointée spécifiquement #}
{% include '@Potage/Membre/inc/lesOffres.html.twig' %} {% include '@Potage/Membre/inc/lesOffres.html.twig' %}
{% endfor %}
</ul>
{% else %} {% else %}
<div class="alert alert-danger">Vous n'êtes dans aucun groupe !</div> <div class="alert alert-danger">Vous n'êtes dans aucun groupe !</div>
{% endif %} {% endif %}
...@@ -37,7 +33,7 @@ ...@@ -37,7 +33,7 @@
{% endif %} {% endif %}
<div class="row "> <div class="row mb-5">
{% include '@Potage/Membre/inc/livraison.html.twig' %} {% include '@Potage/Membre/inc/livraison.html.twig' %}
</div> </div>
......
...@@ -26,7 +26,7 @@ let unItems = []; ...@@ -26,7 +26,7 @@ let unItems = [];
let libItems = []; let libItems = [];
gridItems.forEach(function(gridItem) { gridItems.forEach(function(gridItem) {
unItems.push(gridItem.querySelector("span.unite").textContent); unItems.push(gridItem.querySelector("span.unite").textContent);
libItems.push(gridItem.querySelector("div.texte h5").textContent); libItems.push(gridItem.querySelector("div.texte h5").textContent); // TODO ne prendre que les 20 premiers caractères
}); });
let form = document.querySelector("form.formulaire_commande"); let form = document.querySelector("form.formulaire_commande");
...@@ -91,8 +91,20 @@ gridItems.forEach(function(item) ...@@ -91,8 +91,20 @@ gridItems.forEach(function(item)
// rafraîchit le tableau des légumes // rafraîchit le tableau des légumes
resumePanier(); resumePanier();
clearWarning();
}); });
} }
// au scroll de la souris sur les articles
item.addEventListener('wheel', function()
{
let slider = this.querySelector("input.slider");
});
}); });
/* /*
...@@ -103,6 +115,18 @@ function ecrireLesQuantites(quantite, unite) ...@@ -103,6 +115,18 @@ function ecrireLesQuantites(quantite, unite)
return quantite + ' ' + unite + (unite !== 'kg' && quantite > 1 ? 's' : ''); return quantite + ' ' + unite + (unite !== 'kg' && quantite > 1 ? 's' : '');
} }
/*
* Supprime éventuellement tous les flashs warning
*/
function clearWarning()
{
let warningMessages = document.querySelectorAll("div.alert-warning");
warningMessages.forEach(function(message)
{
message.remove();
});
}
/* /*
* Tableau des articles du panier * Tableau des articles du panier
*/ */
......
...@@ -455,6 +455,6 @@ input[type=range][orient=vertical] { ...@@ -455,6 +455,6 @@ input[type=range][orient=vertical] {
div#astuce { div#astuce {
padding: 2em; padding: 2em;
background-color: #f1f1f1; background-color: #f1f1f1;
border-radius: 10px; border-radius: 5px;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment