Commit fd037be3 authored by Mat's avatar Mat

splittage du template today en blocs, row detail/total sous la grille

parent 3021844b
......@@ -43,6 +43,15 @@ class MembreController extends MasterController
$offreOne = $this->getDoctrine()->getManager()
->getRepository('PotageBundle:Offre')
->findOneByReference($tokenInside['offre_ref']);
$lettres = $offreOne->getLettres();
foreach ($lettres as $lettre)
{
/**
* @var Groupe $groupeOne
*/
$groupeOne = $lettre->getGroupe();
}
$legumesSorted = $this->getOffreLegumesSorted($offreOne);
......@@ -52,6 +61,7 @@ class MembreController extends MasterController
$tokenInside =null;
$offreOne = null;
$legumesSorted = null;
$groupeOne = null;
}
......@@ -62,6 +72,7 @@ class MembreController extends MasterController
'tokenInside' => $tokenInside,
'offreOne' => $offreOne,
'legumesSorted' => $legumesSorted,
'groupeOne' => $groupeOne,
));
}
......@@ -86,6 +97,15 @@ class MembreController extends MasterController
$offreOne = $this->getDoctrine()->getManager()
->getRepository('PotageBundle:Offre')
->findOneByReference($offre_ref);
$lettres = $offreOne->getLettres();
foreach ($lettres as $lettre)
{
/**
* @var Groupe $groupeOne
*/
$groupeOne = $lettre->getGroupe();
}
$legumesSorted = $this->getOffreLegumesSorted($offreOne);
......@@ -100,6 +120,7 @@ class MembreController extends MasterController
'tokenInside' => null,
'offreOne' => $offreOne,
'legumesSorted' => $legumesSorted,
'groupeOne' => $groupeOne,
));
}
......
......@@ -162,6 +162,8 @@ class OffreRepository extends \Doctrine\ORM\EntityRepository
public function findOneByReference($reference)
{
$qb = $this->createQueryBuilder('o')
->join('o.lettres', 'l')
->join('l.groupe', 'g')
->where('o.reference = :reference')
->andWhere('o.status = :status')
->setParameters(array(
......
......@@ -87,7 +87,7 @@
{% elseif is_granted('ROLE_ADMIN') %}
Maraîcher
{% else %}
Mangeur
Légumivore
{% endif %}
</span>
</a>
......
<table class="table table-sm table-hover">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
<button type="button" class="btn btn-lg btn-block btn-primary float-right">Envoyer la commande</button>
\ No newline at end of file
{% if groupe.lettres %}
{% for lettre in groupe.lettres %}
{% if lettre.offre.status == 'current' %}
<li>
<a href="{{ path('potage_today_one', { 'offre_ref': lettre.offre.reference }) }}" >
Offre {{ lettre.offre.reference }}
</a><br>
Infolettre {{ lettre.reference }} → Période du {{ lettre.startedAt|date('d/m/Y') }} au {{ lettre.endedAt|date('d/m/Y') }}<br>
Sujet: {{ lettre.subject }}<br>
Pour: Groupe de {{ groupe.nom }}
</li>
{% endif %}
{% endfor %}
{% endif %}
{% if groupeOne is not null %}
<div class="livraison">
<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 %}
<h1>Légumes à la carte</h1>
<h4>Offre {{ offreOne.reference }} (#{{ offreOne.id }})</h4>
<h6 class="text-right">Expire le {{ offreOne.endedAt|date('d M Y à H:i A') }}</h6>
{# Afficher le temps restant
# https://stackoverflow.com/a/5906737
#}
<div id="offre" class="grid">
{% for legume in legumesSorted %}
<div class="item image legume"
data-legume-id="{{ legume.id }}"
style="background-image: url('{{ asset('uploads/images/legumes/') }}{{ legume.image }}');">
<div class="overlay">
<div class="slidecontainer">
<input type="range" min="1" max="100" value="0"
class="slider" id="slider-{{ legume.id }}"
orient="vertical">
</div>
<div class="texte">
<h5>{{ legume.nom }}</h5>
<p>{{ legume.description }}</p>
</div>
<div class="prixPoids">
<span class="prix">{{ legume.prixUnitaire }}</span>
<span class="devise"></span>
<span class="unite">/{{ legume.unite }}</span>
</div>
</div>
</div>
{% endfor %}
</div>
......@@ -12,96 +12,55 @@
{% if offreOne is defined %}
{% if offreOne is not null %}
{#
# affiche l'offre passée par le token, ou dans l'URL
#}
<h1>{{ offreOne.reference }} | Offre de légumes n°{{ offreOne.id }}</h1>
<h3>Expire le {{ offreOne.endedAt|date('d M Y à H:i A') }}</h3>
{# Afficher le temps restant
# https://stackoverflow.com/a/5906737
#}
<div id="offre" class="grid">
{% for legume in legumesSorted %}
<div class="item image legume"
data-legume-id="{{ legume.id }}"
style="background-image: url('{{ asset('uploads/images/legumes/') }}{{ legume.image }}');">
<div class="overlay">
<div class="slidecontainer">
<input type="range" min="1" max="100" value="0"
class="slider" id="slider-{{ legume.id }}"
orient="vertical">
</div>
<div class="texte">
<h5>{{ legume.nom }}</h5>
<p>{{ legume.description }}</p>
</div>
<div class="prixPoids">
<span class="prix">{{ legume.prixUnitaire }}</span>
<span class="devise"></span>
<span class="unite">/{{ legume.unite }}</span>
</div>
</div>
{# affiche l'offre passée par le token, ou dans l'URL #}
{% include '@Potage/Membre/offreALaCarte.html.twig' %}
<div class="row panier">
<div class="col-7">
{% include '@Potage/Membre/detailCommande.html.twig' %}
</div>
<div class="col-5">
{% include '@Potage/Membre/total.html.twig' %}
</div>
{% endfor %}
</div>
{#
# aucune offre n'est pointée spécifiquement
#}
{% else %}
{% if groupes %}
<h2>Offres en cours </h2>
{% for groupe in groupes %}
<ul>
{% if groupe.lettres %}
{% for lettre in groupe.lettres %}
{% if lettre.offre.status == 'current' %}
<li>
<a href="{{ path('potage_today_one', { 'offre_ref': lettre.offre.reference }) }}" >Offre {{ lettre.offre.reference }}</a><br>
Infolettre {{ lettre.reference }} → Période du {{ lettre.startedAt|date('d/m/Y') }} au {{ lettre.endedAt|date('d/m/Y') }}<br>
{{ lettre.subject }}<br>
<ul>
{% for groupe in groupes %}
{# ou si aucune offre n'est pointée spécifiquement #}
{% include '@Potage/Membre/lesOffres.html.twig' %}
{{ groupe.nom }}: {{ groupe.depot.localisation }}
</li>
{% endif %}
{% endfor %}
{% endif %}
</ul>
{% endfor %}
{% endfor %}
</ul>
{% else %}
~ Vous n'êtes dans aucun groupe ~
{% endif %}
{% endif %}
{% endif %}
{#
# user connecté
#}
{% if app.user %}
<div class="user">
Roles: {% if is_granted('ROLE_SUPER_ADMIN') %}Administrateur{% elseif is_granted('ROLE_ADMIN') %}Maraîcher{% else %}Mangeur{% endif %}<br>
{% if app.user.utilisateur %}Nom: {{ app.user.utilisateur.prenom }} {{ app.user.utilisateur.nom }}<br>{% endif %}
Username: {{ app.user.username }}<br>
Email: {{ app.user.email }}<br>
Dernière connexion: {{ app.user.lastLogin|date("d M Y, à H:i:s") }}
</div>
{% endif %}
<div class="row ">
<div class="col-5">
{% include '@Potage/Membre/user.html.twig' %}
</div>
<div class="col-7">
{% include '@Potage/Membre/livraison.html.twig' %}
</div>
</div>
{{ dump() }}
</div>
</div>
{% endblock %}
{% block customJS %}
<script src="{{ asset('lib/transit/jquery.transit.min.js') }}"></script>
<script type="text/javascript">
{% include '@Potage/Membre/today.js' %}
</script>
<script src="{{ asset('lib/transit/jquery.transit.min.js') }}"></script>
<script type="text/javascript">
{% include '@Potage/Membre/today.js' %}
</script>
{% endblock %}
<div id="total">
<h4>Total</h4>
<p class="h1">16.85 €</p>
<small>
<i>Le total de la commande est donné à titre indicatif.
Votre maraîcher se réserve le droit d'adapter légèrement les quantités et le prix
en fonction des limites et de l'état du stock disponible.</i>
</small>
</div>
{% 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 %}
......@@ -417,8 +417,13 @@ body[id^='today'] #offre.grid div.item .overlay {
font-size: 10px;
}
body[id^='today'] div.user {
margin: 2em 0;
body[id^='today'] div.panier {
background-color: white;
padding: 3em;
margin: -2em -2em 2em;
}
body[id^='today'] div.user {/*
margin: 2em 0;*/
}
input[type=range][orient=vertical]
......
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