Commit 2d5d8830 authored by Mat's avatar Mat

la newsletter rends au template un tableau d'objets plutôt que des tableaux

parent 487e6156
......@@ -123,7 +123,7 @@ class MembreController extends MasterController
{
/**
* @var Offre $offre
* @var OffreLegumes $legumes
* @var OffreLegumes $legume
*/
$offre = $lettre->getOffre();
......
......@@ -20,20 +20,64 @@
</div>
<h1>{{ subject }}</h1>
<h2>Période du {{ body.lettre.start|date('d-m-Y') }} au {{ body.lettre.end|date('d-m-Y') }}</h2>
<h2>
Période du {{ body.startedAt|date('d-m-Y') }} au {{ body.endedAt|date('d-m-Y') }}
</h2>
<p>
Infolettre {{ body.reference }} (#{{ body.id }})<br>
Statut: {{ body.status }}<br>
</p>
<h3>
Bonjour {{ to.fullName }}<br>
<a href="{{ absolute_url(path('potage_today', {token: to.token })) }}" target="_blank" rel="noreferrer">
<button>Commander des légumes</button>
</a>
</h3>
<div>
<h3>
Bonjour {{ to.fullName }}</h3><p>
email: {{ to.email }}<br>
token: {{ to.token }}
</p>
<p>
Membre du groupe {{ body.groupe.nom }}<br>
Adresse du dépôt: {{ body.groupe.depot.localisation }}<br>
Responsable du dépôt: {{ body.groupe.depot.responsable }}<br>
Dépôt des paniers: {{ body.groupe.depot.jourPanier }}, {{ body.groupe.depot.heurePanier|date('H:i') }}
</p>
<p>{{ body.groupe.nom }}<br>
{{ body.depot.localisation }}</p>
<div>
<p>
Offre {{ body.offre.reference }} (#{{ body.offre.id }})<br>
Expire le {{ body.offre.endedAt|date('d-m-Y, à H:i') }}<br>
Statut: {{ body.offre.status }}<br>
{{ body.offre.sorted }}
</p>
<ul>
{% for legume in body.offre.offreLegumes %}
<li>
#{{ legume.id }}<br>
{{ legume.nom }}: {{ legume.description }}<br>
{{ legume.prixUnitaire }} €/{{ legume.unite }}
</li>
{% endfor %}
</ul>
<a href="{{ absolute_url(path('potage_today', {token: to.token })) }}" target="_blank" rel="noreferrer">
<button>Commander des légumes</button>
</a>
</div>
{{ body.sorted }}
{% for info in body.infos %}
<div style="color: {{ info.color }}">
{% if info.isPost == true %}
<span>{{ info.postedAt|date('d-m-Y, à H:i') }}</span>
{% endif %}
<h2>{{ info.title }}</h2>
<h3>{{ info.subtitle }}</h3>
<p>{{ info.text }}</p>
</div>
{% endfor %}
{{ dump() }}
</div>
{#
{{ dump() }}
#}
</body>
</html>
\ No newline at end of file
......@@ -2,9 +2,12 @@
namespace PotageBundle\Services;
use PotageBundle\Entity\Depot;
use PotageBundle\Entity\Groupe;
use PotageBundle\Entity\Info;
use PotageBundle\Entity\Lettre;
use PotageBundle\Entity\Offre;
use PotageBundle\Entity\OffreLegumes;
use PotageBundle\Entity\User;
use Symfony\Component\DependencyInjection\ContainerInterface;
......@@ -51,57 +54,31 @@ class Newsletter
* Récupère le body de l'infolettre
*
* @param Lettre $lettre
* @return array
* @return Lettre
*/
private function getBody(Lettre $lettre)
{
/**
* @var Offre $offre
* @var OffreLegumes $legume
*/
$offre = $lettre->getOffre();
$legumes = $offre->getOffreLegumes();
foreach ($legumes as $legume) {
}
/**
* @var Groupe $groupe
* @var Depot $depot
* @var Info $info
*/
$groupe = $lettre->getGroupe();
$depot = $groupe->getDepot();
$infos = $lettre->getInfos();
foreach ($infos as $info) {
}
$groupe = array(
'nom' => $lettre->getGroupe()->getNom(),
'slug' => $lettre->getGroupe()->getSlug(),
'description' => $lettre->getGroupe()->getDescription(),
);
$depot = array(
'localisation' => $lettre->getGroupe()->getDepot()->getLocalisation(),
'responsable' => $lettre->getGroupe()->getDepot()->getResponsable(),
'jour' => $lettre->getGroupe()->getDepot()->getJourPanier(),
'heure' => $lettre->getGroupe()->getDepot()->getHeurePanier(),
);
$offre = array(
'id' => $lettre->getOffre()->getId(),
'reference' => $lettre->getOffre()->getReference(),
'end' => $lettre->getOffre()->getEndedAt(),
'status' => $lettre->getOffre()->getStatus(),
'sorted' => $lettre->getOffre()->getSorted(),
);
$infos = $this->container->get('doctrine')
->getRepository('PotageBundle:Info')
->findAllForLettreReadInfosSorted(
$lettre->getId(),
$lettre->getSorted()
);
$legumes = $this->container->get('doctrine')
->getRepository('PotageBundle:OffreLegumes')
->findAllForSortedRead(
$lettre->getOffre()->getId(),
$lettre->getOffre()->getSorted()
);
$infolettre = array(
'id' => $lettre->getId(),
'reference' => $lettre->getReference(),
'start' => $lettre->getStartedAt(),
'end' => $lettre->getEndedAt(),
'status' => $lettre->getStatus(),
'sorted' => $lettre->getSorted(),
);
return array(
'lettre' => $infolettre,
'groupe' => $groupe,
'depot' => $depot,
'infos' => $infos,
'offre' => $offre,
'legumes' => $legumes
);
return $lettre;
}
......
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