up liens, explication de score de complétion

This commit is contained in:
Tykayn 2025-06-17 13:23:47 +02:00 committed by tykayn
parent 81c613e93c
commit 21d4d5b850
9 changed files with 425 additions and 292 deletions

View file

@ -102,7 +102,7 @@ class PublicController extends AbstractController
$message = (new Email())
->from('contact@osm-commerce.fr')
->to($destinataire)
->subject('Votre lien de modification Ope nStreetMap')
->subject('Votre lien de modification OpenStreetMap')
->text('Bonjour, nous sommes des bénévoles d\'OpenStreetMap France et nous vous proposons de modifier les informations de votre commerce. Voici votre lien unique de modification: ' . $this->generateUrl('app_public_edit', [
'zipcode' => $zipCode,
'name' => $place_name,
@ -117,10 +117,11 @@ class PublicController extends AbstractController
#[Route('/', name: 'app_public_index')]
public function index(): Response
{
$stats = $this->entityManager->getRepository(Stats::class)->findAll();
return $this->render('public/home.html.twig', [
'controller_name' => 'PublicController',
'stats' => $stats
]);
}
@ -190,7 +191,6 @@ class PublicController extends AbstractController
#[Route('/modify/{osm_object_id}/{version}/{changesetID}', name: 'app_public_submit')]
public function submit($osm_object_id, $version, $changesetID): Response
{
$place = $this->entityManager->getRepository(Place::class)->findOneBy(['osmId' => $osm_object_id]);
if (!$place) {
$this->addFlash('warning', 'Ce commerce n\'existe pas.');
@ -212,11 +212,9 @@ class PublicController extends AbstractController
$request_post = $request->request->all();
$request_post = $this->motocultrice->map_post_values($request_post);
foreach ($request_post as $key => $value) {
if (strpos($key, 'commerce_tag_value__') === 0) {
$tagKey = str_replace('commerce_tag_value__', '', $key);
if (!empty($value)) {
@ -236,7 +234,6 @@ class PublicController extends AbstractController
// Récupérer le token OSM depuis les variables d'environnement
$osm_api_token = $_ENV['APP_OSM_BEARER'];
$exception = false;
$exception_message = "";
try {
@ -293,7 +290,6 @@ class PublicController extends AbstractController
// Debug du XML généré
$xmlString = $xml->asXML();
// echo('xml : <br>'.$xmlString);
$response = $client->put("https://api.openstreetmap.org/api/0.6/{$osm_kind}/" . $osm_object_id, [
'body' => $xmlString,
@ -327,15 +323,13 @@ class PublicController extends AbstractController
}
// après envoi on récupère les données
$commerce = $this->motocultrice->get_osm_object_data($osm_kind, $osm_object_id);
$commerce_overpass = $this->motocultrice->get_osm_object_data($osm_kind, $osm_object_id);
$place->update_place_from_overpass_data($commerce);
$place->update_place_from_overpass_data($commerce_overpass);
$this->entityManager->persist($place);
$this->entityManager->flush();
$this->entityManager->clear();
$stats = $place->getStats();
if(!$stats) {
$stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zip_code' => $place->getZipCode()]);
@ -345,19 +339,20 @@ class PublicController extends AbstractController
$stats->setZipCode($place->getZipCode());
}
$stats->addPlace($place);
$place->setStats($stats);
$place->setModifiedDate(new \DateTime());
$stats->addPlace($place);
$place->setStats($stats);
$place->setModifiedDate(new \DateTime());
$stats->computeCompletionPercent();
$this->entityManager->persist($stats);
$this->entityManager->persist($place);
$this->entityManager->flush();
$this->entityManager->clear();
$stats->computeCompletionPercent();
$this->entityManager->persist($stats);
$this->entityManager->persist($place);
$this->entityManager->flush();
$this->entityManager->clear();
return $this->render('public/view.html.twig', [
'controller_name' => 'PublicController',
'commerce' => $commerce,
'commerce' => $commerce_overpass,
'commerce_overpass' => $commerce_overpass,
'place' => $place,
'status' => $status,
'exception' => $exception,