mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-06-20 01:44:42 +02:00
up
This commit is contained in:
parent
9390a38adf
commit
248140d78a
7 changed files with 92 additions and 73 deletions
|
@ -209,50 +209,41 @@ final class AdminController extends AbstractController
|
|||
}
|
||||
// pour chaque résultat, vérifier que l'on a pas déjà un commerce avec le même osm_object_id
|
||||
|
||||
$results = array_filter($results, function($commerce) use ($osm_object_ids) {
|
||||
$new_places_list = array_filter($results, function($commerce) use ($osm_object_ids) {
|
||||
return !in_array($commerce['id'], $osm_object_ids);
|
||||
});
|
||||
$existing_places_list = array_filter($results, function($commerce) use ($osm_object_ids) {
|
||||
return in_array($commerce['id'], $osm_object_ids);
|
||||
});
|
||||
|
||||
// on crée un commerce pour chaque résultat qui reste
|
||||
foreach ($results as $result) {
|
||||
$commerce = new Place();
|
||||
foreach ($new_places_list as $np) {
|
||||
$new_place = new Place();
|
||||
|
||||
if (isset($result['tags']['amenity'])) {
|
||||
$commerce->setMainTag('amenity='.$result['tags']['amenity']);
|
||||
}
|
||||
if (isset($result['tags']['shop'])) {
|
||||
$commerce->setMainTag('shop='.$result['tags']['shop']);
|
||||
}
|
||||
if (isset($result['tags']['tourism'])) {
|
||||
$commerce->setMainTag('tourism='.$result['tags']['tourism']);
|
||||
}
|
||||
$commerce->setOsmId($result['id'])
|
||||
->setOsmKind($result['type'])
|
||||
->setName($result['name'])
|
||||
->setZipCode($zip_code)
|
||||
->setEmail($result['email'])
|
||||
$new_place
|
||||
->setUuidForUrl($this->motocultrice->uuid_create())
|
||||
->setOptedOut(false)
|
||||
->setDead(false)
|
||||
|
||||
->setModifiedDate(new \DateTime())
|
||||
->setStats($stats)
|
||||
->setDead(false)
|
||||
->setOptedOut(false)
|
||||
->setAskedHumainsSupport(false)
|
||||
->setLastContactAttemptDate(null)
|
||||
->setStats($stats)
|
||||
->setNote($result['tags'] && isset($result['tags']['note']) ? isset($result['tags']['note']) : null)
|
||||
->setHasOpeningHours($result['tags'] && isset($result['tags']['opening_hours']) ? isset($result['tags']['opening_hours']) : null)
|
||||
->setHasAddress(($result['tags'] && isset($result['tags']['address']) || $result['tags'] && isset($result['tags']['contact:address'])) ? isset($result['tags']['address']) : null)
|
||||
->setHasWebsite($result['tags'] && isset($result['tags']['website']) ? $result['tags']['website'] : null)
|
||||
->setHasWheelchair($result['tags'] && isset($result['tags']['wheelchair']) ? $result['tags']['wheelchair'] : null)
|
||||
->setHasNote($result['tags'] && isset($result['tags']['note']) ? $result['tags']['note'] : null)
|
||||
->setNoteContent($result['tags'] && isset($result['tags']['note']) ? $result['tags']['note'] : null)
|
||||
;
|
||||
$this->entityManager->persist($commerce);
|
||||
->update_place_from_overpass_data($new_place);
|
||||
$this->entityManager->persist($new_place);
|
||||
}
|
||||
// Mise à jour des commerces existants avec les données Overpass
|
||||
foreach ($commerces as $existing_places_list) {
|
||||
foreach ($results as $result) {
|
||||
if ($existing_places_list->getOsmId() == $result['id'] && $existing_places_list->getOsmKind() == $result['type']) {
|
||||
$existing_places_list->update_place_from_overpass_data($result);
|
||||
$this->entityManager->persist($existing_places_list);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->entityManager->flush();
|
||||
|
||||
$commerces = $this->entityManager->getRepository(Place::class)->findBy(['zip_code' => $zip_code]);
|
||||
|
||||
$stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $zip_code]);
|
||||
return $this->render('admin/labourage_results.html.twig', [
|
||||
|
@ -365,7 +356,7 @@ final class AdminController extends AbstractController
|
|||
$response->headers->set('Content-Type', 'text/csv');
|
||||
|
||||
$slug_name = str_replace(' ', '-', $stats->getName());
|
||||
|
||||
|
||||
$response->headers->set('Content-Disposition', 'attachment; filename="osm-commerces-export_' . $zip_code . '_' . $slug_name . '_' . date('Y-m-d_H-i-s') . '.csv"');
|
||||
|
||||
return $response;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue