mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-06-20 01:44:42 +02:00
stats up
This commit is contained in:
parent
9ae7c0d3e4
commit
a1c5647b43
9 changed files with 172 additions and 83 deletions
|
@ -173,6 +173,13 @@ 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.');
|
||||
return $this->redirectToRoute('app_public_index');
|
||||
}
|
||||
|
||||
// Récupérer les données POST
|
||||
$request = Request::createFromGlobals();
|
||||
|
||||
|
@ -227,7 +234,7 @@ class PublicController extends AbstractController
|
|||
|
||||
$tag = $changeset->addChild('tag');
|
||||
$tag->addAttribute('k', 'comment');
|
||||
$tag->addAttribute('v', 'Modification des tags via l\'interface web #MonCommerceOSM');
|
||||
$tag->addAttribute('v', 'Modification dans #MonCommerceOSM');
|
||||
|
||||
$changesetResponse = $client->put('https://api.openstreetmap.org/api/0.6/changeset/create', [
|
||||
'body' => $changesetXml->asXML(),
|
||||
|
@ -305,7 +312,28 @@ 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);
|
||||
|
||||
|
||||
$place->update_place_from_overpass_data($commerce);
|
||||
$this->entityManager->persist($place);
|
||||
$this->entityManager->flush();
|
||||
|
||||
|
||||
$stats = $place->getStats();
|
||||
if(!$stats) {
|
||||
$stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zip_code' => $place->getZipCode()]);
|
||||
}
|
||||
if(!$stats) {
|
||||
$stats = new Stats();
|
||||
$stats->setZipCode($place->getZipCode());
|
||||
}
|
||||
|
||||
$stats->addPlace($place);
|
||||
$place->setStats($stats);
|
||||
|
||||
$stats->computeCompletionPercent();
|
||||
$this->entityManager->persist($stats);
|
||||
$this->entityManager->persist($place);
|
||||
$this->entityManager->flush();
|
||||
|
||||
return $this->render('public/view.html.twig', [
|
||||
'controller_name' => 'PublicController',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue