Explorar el Código

Premier dashboard ok

Sangfroid hace 5 meses
padre
commit
77d45155a2

+ 21 - 33
src/Controller/DashboardController.php

@@ -49,47 +49,36 @@ class DashboardController extends AbstractController
         $ajoutsParMois = $filmRepository->countAjoutsParMois();
 
         $months = [];
-        $entryCounts = [];
         foreach ($ajoutsParMois as $data) {
-            $months[] = $data['month'];
-            $entryCounts[] = $data['entryCount'];
+            $months[$data['month']]['nbFilms'] = $data['entryCount'];
         }
 
+        foreach ($commentairesParMois as $data) {
+            $months[$data['month']]['nbComs'] = $data['entryCount'];
+        }
+        ksort($months);
+        
+        foreach($months as &$mois) {
+            if(!isset($mois['nbFilms'])) {
+                $mois['nbFilms'] = 0;
+            }
+            if (!isset($mois['nbComs'])) {
+                $mois['nbComs'] = 0;
+            }
+        }
 
         $chartDatesAjout->setData([
-            'labels' => $months,
+            'labels' => array_keys($months),
             'datasets' => [
                 [
                     'label' => 'Nombre de films ajoutés par mois',
-                    'data'  => $entryCounts
-                ]
-            ]
-        ]);
-
-        $chart->setOptions([
-            'scales' => [
-                'y' => [
-                    'suggestedMin' => 0,
-                    'suggestedMax' => 100,
+                    'data'  => array_map(fn($value): int => $value['nbFilms'], $months)
                 ],
-            ],
-        ]);
-
-        $months = [];
-        $entryCounts = [];
-        foreach ($commentairesParMois as $data) {
-            $months[] = $data['month'];
-            $entryCounts[] = $data['entryCount'];
-        }
-
-        $chartCommentairesAjout = $chartBuilderInterface->createChart(Chart::TYPE_LINE);
-        $chartCommentairesAjout->setData([
-            'labels' => $months,
-            'datasets' => [
                 [
-                    'label' => 'Nombre de films ajoutés par mois',
-                    'data'  => $entryCounts
-                ]
+                    'label' => 'Nombre de commentaires ajoutés par mois',
+                    'data'  => array_map(fn($value): int => $value['nbComs'], $months)
+                ],
+                
             ]
         ]);
 
@@ -104,8 +93,7 @@ class DashboardController extends AbstractController
 
         return $this->render('dashboard/index.html.twig', [
             'chart' => $chart,
-            'chartAjoutsParMois' => $chartDatesAjout,
-            'chartCommentairesAjouts' => $chartCommentairesAjout
+            'chartDatesAjout' => $chartDatesAjout,
         ]);
     }
 }

+ 2 - 12
templates/dashboard/index.html.twig

@@ -8,20 +8,10 @@
     <div class="col">
         <div class="card shadow mb-4">
             <div class="cad-header">
-                Commentaires par mois
+                Commentaires et films par mois
             </div>
             <div class="card-body">
-                {{ render_chart(chartCommentairesAjouts) }}
-            </div>
-        </div>
-    </div>
-    <div class="col">
-        <div class="card shadow mb-4">
-            <div class="cad-header">
-                Films ajoutés par mois
-            </div>
-            <div class="card-body">
-                {{ render_chart(chartAjoutsParMois) }}
+                {{ render_chart(chartDatesAjout) }}
             </div>
         </div>
     </div>

+ 3 - 0
templates/navbar.html.twig

@@ -32,6 +32,9 @@
                     <li class="nav-item">
                         <a class="dropdown-item" href="{{ path('realisateur_liste') }}">Réalisateurs</a>
                     </li>
+                    <li class="nav-item">
+                        <a class="dropdown-item" href="{{ path('app_dashboard') }}">Tableau de bord</a>
+                    </li>
                     {% endif %}
                 </ul>
             </li>