add themes in main city page
This commit is contained in:
parent
952254b5d0
commit
03fede15aa
5 changed files with 91 additions and 18 deletions
|
|
@ -1122,7 +1122,12 @@ class PublicController extends AbstractController
|
|||
$types[$type][] = $fu;
|
||||
}
|
||||
}
|
||||
// Récupérer tous les thèmes connus pour afficher même ceux sans données
|
||||
$allThemes = \App\Service\FollowUpService::getFollowUpThemes();
|
||||
$allIcons = \App\Service\FollowUpService::getFollowUpIcons();
|
||||
|
||||
$evolutions = [];
|
||||
// D'abord, traiter les types qui ont des données
|
||||
foreach ($types as $type => $fus) {
|
||||
usort($fus, fn($a, $b) => $a->getDate() <=> $b->getDate());
|
||||
$latest = end($fus);
|
||||
|
|
@ -1140,6 +1145,23 @@ class PublicController extends AbstractController
|
|||
$evolutions[$type][$label] = $past !== null && $latest ? $latest->getMeasure() - $past : null;
|
||||
}
|
||||
}
|
||||
// Ensuite, ajouter les thèmes qui n'ont pas encore de données
|
||||
foreach ($allThemes as $theme => $themeLabel) {
|
||||
if (!isset($evolutions[$theme])) {
|
||||
$evolutions[$theme] = [
|
||||
'now' => null
|
||||
];
|
||||
foreach ($periods as $periodLabel => $date) {
|
||||
$evolutions[$theme][$periodLabel] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Trier les évolutions par ordre alphabétique des labels
|
||||
uksort($evolutions, function($a, $b) use ($allThemes) {
|
||||
$labelA = $allThemes[$a] ?? $a;
|
||||
$labelB = $allThemes[$b] ?? $b;
|
||||
return strcasecmp($labelA, $labelB);
|
||||
});
|
||||
// Grouper les lieux par date de modification
|
||||
$places = $stats->getPlaces();
|
||||
$now = new \DateTime();
|
||||
|
|
@ -1170,6 +1192,8 @@ class PublicController extends AbstractController
|
|||
'places_7j' => $places_7j,
|
||||
'places_30j' => $places_30j,
|
||||
'places_6mois' => $places_6mois,
|
||||
'theme_labels' => $allThemes,
|
||||
'theme_icons' => $allIcons,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue