Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
potage
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mathieu
potage
Commits
2d5d8830
Commit
2d5d8830
authored
Sep 06, 2018
by
Mat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
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
Showing
3 changed files
with
79 additions
and
58 deletions
+79
-58
src/PotageBundle/Controller/MembreController.php
src/PotageBundle/Controller/MembreController.php
+1
-1
src/PotageBundle/Resources/views/Mail/bodyMail.html.twig
src/PotageBundle/Resources/views/Mail/bodyMail.html.twig
+54
-10
src/PotageBundle/Services/Newsletter.php
src/PotageBundle/Services/Newsletter.php
+24
-47
No files found.
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