Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a5d408d

Browse files
committed
Feature: Suivi - intégration des tokens sponsors à la vente de places
1 parent c39cba3 commit a5d408d

3 files changed

Lines changed: 33 additions & 45 deletions

File tree

sources/Afup/Forum/Inscriptions.php

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,38 @@ public function obtenirSuivi($idForum, $idForumPrecedent = null): array
8484
$daysToEndOfSales = $dateForum->diff($now)->format('%r%a');
8585
}
8686

87-
$requete = 'SELECT
88-
COUNT(*) as nombre,
89-
DATEDIFF(FROM_UNIXTIME(date, \'%Y-%m-%d\'), FROM_UNIXTIME(af.date_fin_vente, \'%Y-%m-%d\')) as jour,
90-
id_forum
91-
FROM
92-
afup_inscription_forum i
93-
RIGHT JOIN afup_forum_tarif aft ON (aft.id = i.type_inscription AND aft.default_price > 0)
94-
LEFT JOIN afup_forum af ON af.id = i.id_forum
95-
WHERE
96-
i.id_forum IN (' . (int) $idForum . ', ' . (int) $idForumPrecedent . ')
97-
AND
98-
etat <> 1
99-
GROUP BY jour, i.id_forum
100-
HAVING jour < 0
101-
ORDER BY jour ASC ';
87+
$requete = '
88+
SELECT SUM(nombre) as nombre, jour, id_forum
89+
FROM (
90+
SELECT
91+
COUNT(*) as nombre,
92+
DATEDIFF(FROM_UNIXTIME(date, \'%Y-%m-%d\'), FROM_UNIXTIME(af.date_fin_vente, \'%Y-%m-%d\')) as jour,
93+
id_forum
94+
FROM
95+
afup_inscription_forum i
96+
RIGHT JOIN afup_forum_tarif aft ON (aft.id = i.type_inscription AND aft.default_price > 0)
97+
LEFT JOIN afup_forum af ON af.id = i.id_forum
98+
WHERE
99+
i.id_forum IN (' . (int) $idForum . ', ' . (int) $idForumPrecedent . ')
100+
AND
101+
etat <> 1
102+
GROUP BY jour, i.id_forum
103+
HAVING jour < 0
104+
UNION ALL
105+
SELECT
106+
SUM(max_invitations) as nombre,
107+
DATEDIFF(created_on, FROM_UNIXTIME(af.date_fin_vente, \'%Y-%m-%d\')) as jour,
108+
id_forum
109+
FROM afup_forum_sponsors_tickets st
110+
LEFT JOIN afup_forum af ON af.id = st.id_forum
111+
WHERE
112+
st.id_forum IN (' . (int) $idForum . ', ' . (int) $idForumPrecedent . ')
113+
GROUP BY jour, st.id_forum
114+
HAVING jour < 0
115+
ORDER BY jour ASC
116+
) all_data
117+
GROUP BY jour, id_forum
118+
';
102119
$nombre_par_date = $this->_bdd->obtenirTous($requete);
103120

104121
if ([] === $nombre_par_date) {

sources/AppBundle/Controller/Admin/Event/StatsAction.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ public function __invoke(Request $request): Response
4646

4747
$legacyInscriptions = $this->legacyModelFactory->createObject(Inscriptions::class);
4848
$stats = $legacyInscriptions->obtenirSuivi($event->getId(), $comparedEvent->getId());
49-
$ticketsDayOne = $this->ticketRepository->getPublicSoldTicketsByDay(Ticket::DAY_ONE, $event);
50-
$ticketsDayTwo = $this->ticketRepository->getPublicSoldTicketsByDay(Ticket::DAY_TWO, $event);
51-
5249
$ticketTypes = [];
5350

5451
$chart = [
@@ -139,8 +136,6 @@ public function __invoke(Request $request): Response
139136
'stats' => $stats,
140137
'seats' => [
141138
'available' => $event->getSeats(),
142-
'one' => $ticketsDayOne,
143-
'two' => $ticketsDayTwo,
144139
],
145140
'event_compare_form' => $comparedEventForm->createView(),
146141
]);

templates/admin/event/stats.html.twig

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<h2 class="ui header">Évolution des inscriptions</h2>
1717
<div class="ui clearing divider"></div>
1818
<div id="container"></div>
19+
<p><i>Note: les tokens sponsors sont comptés à la date de création, pas à la date d'enregistrement des places.</i></p>
1920
</div>
2021

2122
<div class="ui segment">
@@ -31,31 +32,6 @@
3132
</div>
3233
</div>
3334

34-
<div class="ui segment">
35-
<h2 class="ui header">Progression des ventes: Jour 1</h2>
36-
<div class="ui clearing divider"></div>
37-
{% set percentage = seats.available > 0 ? ( (seats.one) / seats.available * 100)|round : 0 %}
38-
<div class="ui teal progress" data-percent="{{ percentage }}">
39-
<div class="bar">
40-
<div class="progress"></div>
41-
</div>
42-
<div class="label">{{ seats.one }} places vendues sur {{ seats.available }}</div>
43-
</div>
44-
</div>
45-
46-
<div class="ui segment">
47-
<h2 class="ui header">Progression des ventes: Jour 2</h2>
48-
<div class="ui clearing divider"></div>
49-
50-
{% set percentage = seats.available > 0 ? ( (seats.two) / seats.available * 100)|round : 0 %}
51-
<div class="ui teal progress" data-percent="{{ percentage }}">
52-
<div class="bar">
53-
<div class="progress"></div>
54-
</div>
55-
<div class="label">{{ seats.two }} places vendues sur {{ seats.available }}</div>
56-
</div>
57-
</div>
58-
5935
<div class="ui segment">
6036
<h2 class="ui header">Répartition des billets</h2>
6137
<div class="ui clearing divider"></div>

0 commit comments

Comments
 (0)