Commit 2bdd6151 authored by Mat's avatar Mat

newsletter: calcule une seule fois les variables du body, et non à chaque envoi de lettre

parent 2f105377
......@@ -21,11 +21,11 @@
<h1>{{ subject }}</h1>
<h2>
Période du {{ lettre.startedAt|date('d-m-Y') }} au {{ lettre.endedAt|date('d-m-Y') }}
Période du {{ body.lettre.startedAt|date('d-m-Y') }} au {{ body.lettre.endedAt|date('d-m-Y') }}
</h2>
<p>
Infolettre {{ lettre.reference }} (#{{ lettre.id }})<br>
Statut: {{ lettre.status }}<br>
Infolettre {{ body.lettre.reference }} (#{{ body.lettre.id }})<br>
Statut: {{ body.lettre.status }}<br>
</p>
<div>
......@@ -35,21 +35,21 @@
token: {{ to.token }}
</p>
<p>
Membre du groupe {{ lettre.groupe.nom }}<br>
Adresse du dépôt: {{ lettre.groupe.depot.localisation }}<br>
Responsable du dépôt: {{ lettre.groupe.depot.responsable }}<br>
Dépôt des paniers: {{ lettre.groupe.depot.jourPanier }}, {{ lettre.groupe.depot.heurePanier|date('H:i') }}
Membre du groupe {{ body.lettre.groupe.nom }}<br>
Adresse du dépôt: {{ body.lettre.groupe.depot.localisation }}<br>
Responsable du dépôt: {{ body.lettre.groupe.depot.responsable }}<br>
Dépôt des paniers: {{ body.lettre.groupe.depot.jourPanier }}, {{ body.lettre.groupe.depot.heurePanier|date('H:i') }}
</p>
<div>
<p>
Offre {{ lettre.offre.reference }} (#{{ lettre.offre.id }})<br>
Expire le {{ lettre.offre.endedAt|date('d-m-Y, à H:i') }}<br>
Statut: {{ lettre.offre.status }}<br>
{{ lettre.offre.sorted }}
Offre {{ body.lettre.offre.reference }} (#{{ body.lettre.offre.id }})<br>
Expire le {{ body.lettre.offre.endedAt|date('d-m-Y, à H:i') }}<br>
Statut: {{ body.lettre.offre.status }}<br>
{{ body.lettre.offre.sorted }}
</p>
<ul>
{% for legume in lettre.offre.offreLegumes %}
{% for legume in body.lettre.offre.offreLegumes %}
<li>
#{{ legume.id }}<br>
{{ legume.nom }}: {{ legume.description }}<br>
......@@ -62,8 +62,8 @@
</a>
</div>
{{ lettre.sorted }}
{% for info in lettre.infos %}
{{ body.lettre.sorted }}
{% for info in body.lettre.infos %}
<div style="color: {{ info.color }}">
{% if info.isPost == true %}
<span>{{ info.postedAt|date('d-m-Y, à H:i') }}</span>
......@@ -75,8 +75,8 @@
{% endfor %}
</div>
{#
{{ dump() }}
{#
#}
</body>
......
......@@ -148,19 +148,17 @@ class Newsletter
*
* @param array $to
* @param $subject
* @param Lettre $lettre
* @param mixed $body
* @return int
* @throws \Twig_Error_Loader
* @throws \Twig_Error_Runtime
* @throws \Twig_Error_Syntax
*/
public function sendLettre($to, $subject, Lettre $lettre)
public function sendLettre($to, $subject, $body)
{
$mailer = $this->container->get('mailer');
$twig = $this->container->get('twig');
$itemsSorted = $this->getInfosSorted($this->getBody($lettre));
$message = (new \Swift_Message())
->setFrom($this->from)
......@@ -170,8 +168,7 @@ class Newsletter
$twig->render('@Potage/Mail/bodyMail.html.twig', array(
'to' => $to,
'subject' => $subject,
'lettre' => $this->getBody($lettre),
'itemsSorted' => $itemsSorted,
'body' => $body,
)),
'text/html'
);
......@@ -200,6 +197,13 @@ class Newsletter
$offre = $lettre->getOffre();
$groupe = $lettre->getGroupe();
$lettre = $this->getBody($lettre);
$itemsSorted = $this->getInfosSorted($lettre);
$body = array(
'lettre' => $lettre,
'itemsSorted' => $itemsSorted
);
/**
* Les destinataires du groupe de l'infolettre,
* un tableau d'utilisteurs
......@@ -237,7 +241,7 @@ class Newsletter
); //dump($to);
// envoi du mail
$result = $this->sendLettre($to, $subject, $lettre) === 1 ? 'Sent' : 'Error';
$result = $this->sendLettre($to, $subject, $body) === 1 ? 'Sent' : 'Error';
$retour[$i] = array(
'to' => $to,
......
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