Show real stats on homepage and real sold counts in event categories
- Homepage: count BilletOrders for tickets sold, sum paid orders for totalHT - Event categories: count BilletOrders per billet for real sold counts - Remove placeholder text from tickets stat block Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -377,7 +377,7 @@ class AccountController extends AbstractController
|
||||
$categoryBillets = $em->getRepository(Billet::class)->findBy(['category' => $category], ['position' => 'ASC']);
|
||||
$billets[$category->getId()] = $categoryBillets;
|
||||
foreach ($categoryBillets as $billet) {
|
||||
$soldCounts[$billet->getId()] = 0;
|
||||
$soldCounts[$billet->getId()] = $em->getRepository(BilletOrder::class)->count(['billet' => $billet]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Entity\Billet;
|
||||
use App\Entity\BilletBuyer;
|
||||
use App\Entity\BilletOrder;
|
||||
use App\Entity\Category;
|
||||
use App\Entity\Event;
|
||||
use App\Entity\User;
|
||||
@@ -26,6 +28,13 @@ class HomeController extends AbstractController
|
||||
$allUsers = $em->getRepository(User::class)->findAll();
|
||||
$organizers = \count(array_filter($allUsers, fn (User $u) => \in_array('ROLE_ORGANIZER', $u->getRoles(), true) && $u->isApproved()));
|
||||
$eventsCount = \count($em->getRepository(Event::class)->findBy(['isOnline' => true, 'isSecret' => false]));
|
||||
$ticketsSold = $em->getRepository(BilletOrder::class)->count([]);
|
||||
$paidOrders = $em->getRepository(BilletBuyer::class)->findBy(['status' => BilletBuyer::STATUS_PAID]);
|
||||
|
||||
$totalHT = 0;
|
||||
foreach ($paidOrders as $order) {
|
||||
$totalHT += $order->getTotalHT();
|
||||
}
|
||||
|
||||
return $this->render('home/index.html.twig', [
|
||||
'breadcrumbs' => [
|
||||
@@ -34,7 +43,9 @@ class HomeController extends AbstractController
|
||||
'stats' => [
|
||||
'events' => $eventsCount,
|
||||
'organizers' => $organizers,
|
||||
'tickets' => 0,
|
||||
'tickets' => $ticketsSold,
|
||||
'totalHT' => $totalHT / 100,
|
||||
'orders' => \count($paidOrders),
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
<div class="group border-4 border-gray-900 p-6 md:p-8 bg-white shadow-[6px_6px_0px_rgba(0,0,0,1)] hover:shadow-[10px_10px_0px_#ec4899] hover:translate-y-[-4px] transition-all">
|
||||
<p class="text-4xl md:text-6xl lg:text-8xl font-black tracking-tighter">{{ stats.tickets }}</p>
|
||||
<p class="text-xs md:text-sm font-black uppercase tracking-widest text-gray-500 mt-2">Billets vendus</p>
|
||||
<p class="text-xs font-bold text-gray-400 mt-1 italic">Billets, reservations, brocantes, votes</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user