ajout propriétés de rue et siret aux lieux, champs en plus après envoi
This commit is contained in:
parent
b9257d34fd
commit
3ccfd732e7
17 changed files with 361 additions and 56 deletions
|
@ -125,7 +125,7 @@ final class AdminController extends AbstractController
|
|||
* récupérer les commerces de la zone, créer les nouveaux lieux, et mettre à jour les existants
|
||||
*/
|
||||
#[Route('/admin/labourer/{zip_code}', name: 'app_admin_labourer')]
|
||||
public function labourer(string $zip_code, bool $updateExisting = false): Response
|
||||
public function labourer(string $zip_code, bool $updateExisting = true): Response
|
||||
{
|
||||
try {
|
||||
// Récupérer ou créer les stats pour cette zone
|
||||
|
@ -169,6 +169,10 @@ final class AdminController extends AbstractController
|
|||
->setStats($stats)
|
||||
->setDead(false)
|
||||
->setOptedOut(false)
|
||||
->setMainTag($this->motocultrice->find_main_tag($placeData['tags']) ?? '')
|
||||
->setStreet($this->motocultrice->find_street($placeData['tags']) ?? '')
|
||||
->setHousenumber($this->motocultrice->find_housenumber($placeData['tags']) ?? '')
|
||||
->setSiret($this->motocultrice->find_siret($placeData['tags']) ?? '')
|
||||
->setAskedHumainsSupport(false)
|
||||
->setLastContactAttemptDate(null)
|
||||
->setNote('')
|
||||
|
|
|
@ -76,7 +76,9 @@ class PublicController extends AbstractController
|
|||
->setModifiedDate(new \DateTime())
|
||||
->setZipCode($zipCode)
|
||||
->setPlaceCount(0)
|
||||
|
||||
->setMainTag($this->motocultrice->find_main_tag($data['tags_converted']) ?? '')
|
||||
->setStreet($this->motocultrice->find_street($data['tags_converted']) ?? '')
|
||||
->setHousenumber($this->motocultrice->find_housenumber($data['tags_converted']) ?? '')
|
||||
->setLastContactAttemptDate(new \DateTime())
|
||||
->setUuidForUrl(uniqid());
|
||||
|
||||
|
@ -461,4 +463,14 @@ class PublicController extends AbstractController
|
|||
'places_displayed' => $places_displayed
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/set_opted_out_place/{uuid}', name: 'app_public_set_opted_out_place')]
|
||||
public function set_opted_out_place($uuid): Response
|
||||
{
|
||||
$place = $this->entityManager->getRepository(Place::class)->findOneBy(['uuid_for_url' => $uuid]);
|
||||
if (!$place) {
|
||||
$this->addFlash('warning', 'Ce commerce n\'existe pas.');
|
||||
return $this->redirectToRoute('app_public_index');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -91,6 +91,15 @@ class Place
|
|||
#[ORM\Column(nullable: true)]
|
||||
private ?int $lon = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $street = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $housenumber = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $siret = null;
|
||||
|
||||
public function getMainTag(): ?string
|
||||
{
|
||||
return $this->main_tag;
|
||||
|
@ -191,6 +200,9 @@ class Place
|
|||
['key' => 'website', 'setter' => 'setHasWebsite', 'source' => $overpass_data['tags'] ?? []],
|
||||
['key' => 'wheelchair', 'setter' => 'setHasWheelchair', 'source' => $overpass_data['tags'] ?? []],
|
||||
['key' => 'note', 'setter' => 'setHasNote', 'source' => $overpass_data['tags'] ?? []],
|
||||
['key' => 'siret', 'setter' => 'setSiret', 'source' => $overpass_data['tags'] ?? []],
|
||||
['key' => 'addr:street', 'setter' => 'setStreet', 'source' => $overpass_data['tags'] ?? []],
|
||||
['key' => 'addr:housenumber', 'setter' => 'setHousenumber', 'source' => $overpass_data['tags'] ?? []],
|
||||
];
|
||||
|
||||
foreach ($mapping as $map) {
|
||||
|
@ -531,4 +543,40 @@ class Place
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getStreet(): ?string
|
||||
{
|
||||
return $this->street;
|
||||
}
|
||||
|
||||
public function setStreet(?string $street): static
|
||||
{
|
||||
$this->street = $street;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getHousenumber(): ?string
|
||||
{
|
||||
return $this->housenumber;
|
||||
}
|
||||
|
||||
public function setHousenumber(?string $housenumber): static
|
||||
{
|
||||
$this->housenumber = $housenumber;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getSiret(): ?string
|
||||
{
|
||||
return $this->siret;
|
||||
}
|
||||
|
||||
public function setSiret(?string $siret): static
|
||||
{
|
||||
$this->siret = $siret;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,6 +74,12 @@ class Motocultrice
|
|||
];
|
||||
|
||||
|
||||
public function find_siret($tags) {
|
||||
if(isset($tags['ref:FR:SIRET']) && $tags['ref:FR:SIRET'] != '') {
|
||||
return $tags['ref:FR:SIRET'];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function export($zone) {
|
||||
$query = $this->get_export_query($zone);
|
||||
|
@ -188,6 +194,26 @@ out center tags;';
|
|||
}
|
||||
}
|
||||
|
||||
public function find_street($tags) {
|
||||
if(isset($tags['addr:street']) && $tags['addr:street'] != '') {
|
||||
return $tags['addr:street'];
|
||||
}
|
||||
if(isset($tags['contact:street']) && $tags['contact:street'] != '') {
|
||||
return $tags['contact:street'];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function find_housenumber($tags) {
|
||||
if(isset($tags['addr:housenumber']) && $tags['addr:housenumber'] != '') {
|
||||
return $tags['addr:housenumber'];
|
||||
}
|
||||
if(isset($tags['contact:housenumber']) && $tags['contact:housenumber'] != '') {
|
||||
return $tags['contact:housenumber'];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function get_city_osm_from_zip_code($zip_code) {
|
||||
// Requête Overpass pour obtenir la zone administrative de niveau 8 avec un nom
|
||||
$query = "[out:json][timeout:25];
|
||||
|
@ -290,6 +316,9 @@ out center tags;';
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* migrer seulement si la destination n'est pas remplie
|
||||
*/
|
||||
public function migrate_tags($osm_object_data) {
|
||||
|
||||
// migrer email vers contact:email
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue