Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
potage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mathieu
potage
Commits
fd037be3
Commit
fd037be3
authored
Sep 07, 2018
by
Mat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
splittage du template today en blocs, row detail/total sous la grille
parent
3021844b
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
191 additions
and
73 deletions
+191
-73
src/PotageBundle/Controller/MembreController.php
src/PotageBundle/Controller/MembreController.php
+21
-0
src/PotageBundle/Repository/OffreRepository.php
src/PotageBundle/Repository/OffreRepository.php
+2
-0
src/PotageBundle/Resources/views/Default/navbar.html.twig
src/PotageBundle/Resources/views/Default/navbar.html.twig
+1
-1
src/PotageBundle/Resources/views/Membre/detailCommande.html.twig
...ageBundle/Resources/views/Membre/detailCommande.html.twig
+32
-0
src/PotageBundle/Resources/views/Membre/lesOffres.html.twig
src/PotageBundle/Resources/views/Membre/lesOffres.html.twig
+17
-0
src/PotageBundle/Resources/views/Membre/livraison.html.twig
src/PotageBundle/Resources/views/Membre/livraison.html.twig
+19
-0
src/PotageBundle/Resources/views/Membre/offreALaCarte.html.twig
...tageBundle/Resources/views/Membre/offreALaCarte.html.twig
+36
-0
src/PotageBundle/Resources/views/Membre/today.html.twig
src/PotageBundle/Resources/views/Membre/today.html.twig
+29
-70
src/PotageBundle/Resources/views/Membre/total.html.twig
src/PotageBundle/Resources/views/Membre/total.html.twig
+10
-0
src/PotageBundle/Resources/views/Membre/user.html.twig
src/PotageBundle/Resources/views/Membre/user.html.twig
+17
-0
web/css/style.css
web/css/style.css
+7
-2
No files found.
src/PotageBundle/Controller/MembreController.php
View file @
fd037be3
...
...
@@ -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
,
));
}
...
...
src/PotageBundle/Repository/OffreRepository.php
View file @
fd037be3
...
...
@@ -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
(
...
...
src/PotageBundle/Resources/views/Default/navbar.html.twig
View file @
fd037be3
...
...
@@ -87,7 +87,7 @@
{%
elseif
is_granted
(
'ROLE_ADMIN'
)
%}
Maraîcher
{%
else
%}
Mangeur
Légumivore
{%
endif
%}
</span>
</a>
...
...
src/PotageBundle/Resources/views/Membre/detailCommande.html.twig
0 → 100644
View file @
fd037be3
<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
src/PotageBundle/Resources/views/Membre/lesOffres.html.twig
0 → 100644
View file @
fd037be3
{%
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
%}
src/PotageBundle/Resources/views/Membre/livraison.html.twig
0 → 100644
View file @
fd037be3
{%
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
%}
src/PotageBundle/Resources/views/Membre/offreALaCarte.html.twig
0 → 100644
View file @
fd037be3
<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>
src/PotageBundle/Resources/views/Membre/today.html.twig
View file @
fd037be3
...
...
@@ -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
%}
src/PotageBundle/Resources/views/Membre/total.html.twig
0 → 100644
View file @
fd037be3
<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>
src/PotageBundle/Resources/views/Membre/user.html.twig
0 → 100644
View file @
fd037be3
{%
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
%}
web/css/style.css
View file @
fd037be3
...
...
@@ -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
]
...
...
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