Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mathieu
potage
Commits
2d5d8830
Commit
2d5d8830
authored
Sep 06, 2018
by
Mat
Browse files
la newsletter rends au template un tableau d'objets plutôt que des tableaux
parent
487e6156
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/PotageBundle/Controller/MembreController.php
View file @
2d5d8830
...
...
@@ -123,7 +123,7 @@ class MembreController extends MasterController
{
/**
* @var Offre $offre
* @var OffreLegumes $legume
s
* @var OffreLegumes $legume
*/
$offre
=
$lettre
->
getOffre
();
...
...
src/PotageBundle/Resources/views/Mail/bodyMail.html.twig
View file @
2d5d8830
...
...
@@ -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
src/PotageBundle/Services/Newsletter.php
View file @
2d5d8830
...
...
@@ -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
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment