diff --git a/src/Controller/AdminController.php b/src/Controller/AdminController.php index dd484892..c48d59ca 100644 --- a/src/Controller/AdminController.php +++ b/src/Controller/AdminController.php @@ -1813,4 +1813,23 @@ final class AdminController extends AbstractController 'insee_code' => $insee_code, ]); } + + #[Route('/admin/speed-limit/{insee_code}', name: 'admin_speed_limit', requirements: ['insee_code' => '\d+'])] + public function speedLimit(string $insee_code): Response + { + $stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $insee_code]); + if (!$stats) { + $this->addFlash('error', 'Aucune stats trouvée pour ce code INSEE. Veuillez d\'abord ajouter la ville.'); + return $this->redirectToRoute('app_admin_import_stats'); + } + // Tags attendus pour la complétion + $expected_tags = ['maxspeed', 'highway']; + // On transmet le code INSEE et le nom de la ville au template + return $this->render('admin/speed_limit.html.twig', [ + 'stats' => $stats, + 'insee_code' => $insee_code, + 'expected_tags' => $expected_tags, + 'maptiler_token' => $_ENV['MAPTILER_TOKEN'] ?? null, + ]); + } } diff --git a/templates/admin/speed_limit.html.twig b/templates/admin/speed_limit.html.twig new file mode 100644 index 00000000..f8eafbe7 --- /dev/null +++ b/templates/admin/speed_limit.html.twig @@ -0,0 +1,136 @@ +{% extends 'base.html.twig' %} + +{% block title %}Limites de vitesse - {{ stats.name }}{% endblock %} + +{% block body %} +
Complétion des limitations de vitesse sur le réseau routier OSM.
+ Tags attendus :
+ {% for tag in expected_tags %}{{ tag }}
{% if not loop.last %}, {% endif %}{% endfor %}
+
maxspeed
maxspeed
traffic_sign
)traffic_signals
)Cliquer sur un objet pour ouvrir dans OSM, iD ou JOSM.
+