From 6c1b9b483ca3e7934796f0ee7203c765bc4032e2 Mon Sep 17 00:00:00 2001 From: Adrien Gallou Date: Sun, 4 Feb 2024 22:43:49 +0100 Subject: [PATCH 1/3] =?UTF-8?q?page=20stats=20de=20l'admin=20:=20on=20perm?= =?UTF-8?q?et=20de=20choisis=20l'event=20compar=C3=A9=20via=20l'URL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit réponds partiellement au #1186 cela permet de comparer des événements qui ne sont pas forcément l'événement n-1, ce qui est utile pour les AFUP Day --- sources/Afup/Forum/Inscriptions.php | 6 ++++-- .../AppBundle/Controller/Admin/Event/StatsAction.php | 11 +++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sources/Afup/Forum/Inscriptions.php b/sources/Afup/Forum/Inscriptions.php index df1d5799c..f9f381fc8 100644 --- a/sources/Afup/Forum/Inscriptions.php +++ b/sources/Afup/Forum/Inscriptions.php @@ -81,10 +81,12 @@ public function getRegistrationsByReference($reference) return $registrations; } - function obtenirSuivi($id_forum) + function obtenirSuivi($id_forum, $id_forum_precedent = null) { $forum = new Forum($this->_bdd); - $id_forum_precedent = $forum->obtenirForumPrecedent($id_forum); + if (null === $id_forum_precedent) { + $id_forum_precedent = $forum->obtenirForumPrecedent($id_forum); + } $now = new \DateTime(); $dateForum = \DateTime::createFromFormat('U', $forum->obtenir($id_forum)['date_fin_vente']); diff --git a/sources/AppBundle/Controller/Admin/Event/StatsAction.php b/sources/AppBundle/Controller/Admin/Event/StatsAction.php index 1702fe26a..bdb63695f 100644 --- a/sources/AppBundle/Controller/Admin/Event/StatsAction.php +++ b/sources/AppBundle/Controller/Admin/Event/StatsAction.php @@ -53,12 +53,19 @@ public function __construct( public function __invoke(Request $request) { $id = $request->query->get('id'); + $comparedEventId = $request->query->get('compared_event_id'); $event = $this->eventActionHelper->getEventById($id); $legacyInscriptions = $this->legacyModelFactory->createObject(Inscriptions::class); - $stats = $legacyInscriptions->obtenirSuivi($event->getId()); + $comparedSerieName = 'n-1'; + if ($comparedEventId) { + $comparedEvent = $this->eventActionHelper->getEventById($comparedEventId, false); + $comparedSerieName = $comparedEvent->getTitle(); + } + + $stats = $legacyInscriptions->obtenirSuivi($event->getId(), $comparedEventId); $ticketsDayOne = $this->ticketRepository->getPublicSoldTicketsByDay(Ticket::DAY_ONE, $event); $ticketsDayTwo = $this->ticketRepository->getPublicSoldTicketsByDay(Ticket::DAY_TWO, $event); @@ -93,7 +100,7 @@ public function __invoke(Request $request) }, $stats['suivi'])), ], [ - 'name' => 'n-1', + 'name' => $comparedSerieName, 'data' => array_values(array_map(static function ($item) { return $item['n_1']; }, $stats['suivi'])), From bce3c77ff4e081438563e3231285cd7f6caa7eac Mon Sep 17 00:00:00 2001 From: Adrien Gallou Date: Tue, 13 Feb 2024 21:27:02 +0100 Subject: [PATCH 2/3] ajout phpdoc --- sources/Afup/Forum/Inscriptions.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sources/Afup/Forum/Inscriptions.php b/sources/Afup/Forum/Inscriptions.php index f9f381fc8..23d211a4c 100644 --- a/sources/Afup/Forum/Inscriptions.php +++ b/sources/Afup/Forum/Inscriptions.php @@ -81,6 +81,12 @@ public function getRegistrationsByReference($reference) return $registrations; } + /** + * @param int $id_forum + * @param int $id_forum_precedent + * + * @return array + */ function obtenirSuivi($id_forum, $id_forum_precedent = null) { $forum = new Forum($this->_bdd); From 877d56395d924f10012922bcb5c0bd0d7e251f8a Mon Sep 17 00:00:00 2001 From: Adrien Gallou Date: Tue, 13 Feb 2024 21:28:18 +0100 Subject: [PATCH 3/3] =?UTF-8?q?on=20passe=20en=20camelcase=20les=20param?= =?UTF-8?q?=C3=A8tres=20de=20la=20m=C3=A9thode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/Afup/Forum/Inscriptions.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sources/Afup/Forum/Inscriptions.php b/sources/Afup/Forum/Inscriptions.php index 23d211a4c..66508d4b2 100644 --- a/sources/Afup/Forum/Inscriptions.php +++ b/sources/Afup/Forum/Inscriptions.php @@ -82,20 +82,20 @@ public function getRegistrationsByReference($reference) } /** - * @param int $id_forum - * @param int $id_forum_precedent + * @param int $idForum + * @param int $idForumPrecedent * * @return array */ - function obtenirSuivi($id_forum, $id_forum_precedent = null) + function obtenirSuivi($idForum, $idForumPrecedent = null) { $forum = new Forum($this->_bdd); - if (null === $id_forum_precedent) { - $id_forum_precedent = $forum->obtenirForumPrecedent($id_forum); + if (null === $idForumPrecedent) { + $idForumPrecedent = $forum->obtenirForumPrecedent($idForum); } $now = new \DateTime(); - $dateForum = \DateTime::createFromFormat('U', $forum->obtenir($id_forum)['date_fin_vente']); + $dateForum = \DateTime::createFromFormat('U', $forum->obtenir($idForum)['date_fin_vente']); $daysToEndOfSales = 0; if ($dateForum >= $now) { @@ -111,7 +111,7 @@ function obtenirSuivi($id_forum, $id_forum_precedent = null) RIGHT JOIN afup_forum_tarif aft ON (aft.id = i.type_inscription AND aft.default_price > 0) LEFT JOIN afup_forum af ON af.id = i.id_forum WHERE - i.id_forum IN (' . (int)$id_forum . ', ' . (int)$id_forum_precedent . ') + i.id_forum IN (' . (int)$idForum . ', ' . (int)$idForumPrecedent . ') AND etat <> 1 GROUP BY jour, i.id_forum @@ -126,14 +126,14 @@ function obtenirSuivi($id_forum, $id_forum_precedent = null) $suivis = []; for($i = $nombre_par_date[0]['jour']; $i <= 0; $i++) { - $infoForum = array_sum(array_map(function ($info) use ($i, $id_forum) { - if ($info['id_forum'] == $id_forum && $info['jour'] <= $i) { + $infoForum = array_sum(array_map(function ($info) use ($i, $idForum) { + if ($info['id_forum'] == $idForum && $info['jour'] <= $i) { return $info['nombre']; } return 0; }, $nombre_par_date)); - $infoN1 = array_sum(array_map(function ($info) use ($i, $id_forum_precedent) { - if ($info['id_forum'] == $id_forum_precedent && $info['jour'] <= $i) { + $infoN1 = array_sum(array_map(function ($info) use ($i, $idForumPrecedent) { + if ($info['id_forum'] == $idForumPrecedent && $info['jour'] <= $i) { return $info['nombre']; } return 0;