fix submit edit place
This commit is contained in:
parent
63dd364bcb
commit
bcafef75f1
4 changed files with 35 additions and 24 deletions
|
@ -195,6 +195,7 @@ class PublicController extends AbstractController
|
||||||
if ($stats_exist) {
|
if ($stats_exist) {
|
||||||
$stats = $stats_exist;
|
$stats = $stats_exist;
|
||||||
} else {
|
} else {
|
||||||
|
// var_dump('création d\'objet stats ');
|
||||||
$stats = new Stats();
|
$stats = new Stats();
|
||||||
$zipcode = (string)$demande->getInsee();
|
$zipcode = (string)$demande->getInsee();
|
||||||
$stats->setZone($zipcode);
|
$stats->setZone($zipcode);
|
||||||
|
@ -387,6 +388,7 @@ class PublicController extends AbstractController
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
'commerce' => $place,
|
'commerce' => $place,
|
||||||
'zone' => $zipcode,
|
'zone' => $zipcode,
|
||||||
|
'zipcode' => $zipcode,
|
||||||
'completion_percentage' => $place->getCompletionPercentage(),
|
'completion_percentage' => $place->getCompletionPercentage(),
|
||||||
'hide_filled_inputs' => $this->hide_filled_inputs,
|
'hide_filled_inputs' => $this->hide_filled_inputs,
|
||||||
'excluded_tags_to_render' => $this->motocultrice->excluded_tags_to_render,
|
'excluded_tags_to_render' => $this->motocultrice->excluded_tags_to_render,
|
||||||
|
@ -499,8 +501,8 @@ class PublicController extends AbstractController
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/modify/{osm_object_id}/{version}/{changesetID}', name: 'app_public_submit')]
|
#[Route('/modify/{osm_object_id}/{version}/{changesetID}/{insee_code}', name: 'app_public_submit')]
|
||||||
public function submit($osm_object_id, $version, $changesetID): Response
|
public function submit($osm_object_id, $version, $changesetID,$insee_code): Response
|
||||||
{
|
{
|
||||||
|
|
||||||
$this->actionLogger->log('submit_object', [
|
$this->actionLogger->log('submit_object', [
|
||||||
|
@ -509,11 +511,15 @@ class PublicController extends AbstractController
|
||||||
'changesetID' => $changesetID
|
'changesetID' => $changesetID
|
||||||
]);
|
]);
|
||||||
$place = $this->entityManager->getRepository(Place::class)->findOneBy(['osmId' => $osm_object_id]);
|
$place = $this->entityManager->getRepository(Place::class)->findOneBy(['osmId' => $osm_object_id]);
|
||||||
|
|
||||||
if (!$place) {
|
if (!$place) {
|
||||||
$this->addFlash('warning', 'Ce commerce n\'existe pas.');
|
$this->addFlash('warning', 'Ce commerce n\'existe pas.');
|
||||||
return $this->redirectToRoute('app_public_index');
|
return $this->redirectToRoute('app_public_index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$stats = $place->getStats();
|
||||||
|
$stat_zone = $stats->getZone();
|
||||||
|
// var_dump('stats object:', $stats->getZone());
|
||||||
// Récupérer les données POST
|
// Récupérer les données POST
|
||||||
$request = Request::createFromGlobals();
|
$request = Request::createFromGlobals();
|
||||||
|
|
||||||
|
@ -555,11 +561,6 @@ class PublicController extends AbstractController
|
||||||
// Récupérer le token OSM depuis les variables d'environnement
|
// Récupérer le token OSM depuis les variables d'environnement
|
||||||
$osm_api_token = $_ENV['APP_OSM_BEARER'];
|
$osm_api_token = $_ENV['APP_OSM_BEARER'];
|
||||||
|
|
||||||
|
|
||||||
// var_dump($tags_after_modif);
|
|
||||||
// die("tosssp");
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$client = new Client();
|
$client = new Client();
|
||||||
|
|
||||||
|
@ -661,27 +662,28 @@ class PublicController extends AbstractController
|
||||||
|
|
||||||
$place->update_place_from_overpass_data($commerce_overpass);
|
$place->update_place_from_overpass_data($commerce_overpass);
|
||||||
$this->entityManager->persist($place);
|
$this->entityManager->persist($place);
|
||||||
$this->entityManager->flush();
|
// $this->entityManager->flush();
|
||||||
$this->entityManager->clear();
|
// $this->entityManager->clear();
|
||||||
|
|
||||||
$stats = $place->getStats();
|
$stats = $place->getStats();
|
||||||
if (!$stats) {
|
// if (!$stats) {
|
||||||
$stats_exist = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $place->getZipCode()]);
|
// // When modifying a Place, only use existing Stats objects, don't create new ones
|
||||||
if ($stats_exist) {
|
// $stats_exist = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $insee_code]);
|
||||||
$stats = $stats_exist;
|
// if ($stats_exist) {
|
||||||
} else {
|
// $stats = $stats_exist;
|
||||||
$stats = new Stats();
|
// } else {
|
||||||
$stats->setZone($place->getZipCode());
|
// // If no Stats object exists for this INSEE code, we can't proceed
|
||||||
$stats->setKind('user'); // Set the kind to 'user' as it's created from a user interaction
|
// $this->addFlash('warning', 'Impossible de modifier ce commerce car aucune statistique n\'existe pour cette zone.');
|
||||||
}
|
// return $this->redirectToRoute('app_public_index');
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
$stats->addPlace($place);
|
$stats->addPlace($place);
|
||||||
$place->setStats($stats);
|
// $place->setStats($stats);
|
||||||
$place->setModifiedDate(new \DateTime());
|
$place->setModifiedDate(new \DateTime());
|
||||||
|
|
||||||
$stats->computeCompletionPercent();
|
$stats->computeCompletionPercent();
|
||||||
$this->entityManager->persist($stats);
|
// $this->entityManager->persist($stats);
|
||||||
$this->entityManager->persist($place);
|
$this->entityManager->persist($place);
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
$this->entityManager->clear();
|
$this->entityManager->clear();
|
||||||
|
@ -693,6 +695,8 @@ class PublicController extends AbstractController
|
||||||
'commerce_overpass' => $commerce_overpass,
|
'commerce_overpass' => $commerce_overpass,
|
||||||
'place' => $place,
|
'place' => $place,
|
||||||
'status' => $status,
|
'status' => $status,
|
||||||
|
'insee_code' => $insee_code,
|
||||||
|
'stat_zone' => $stat_zone,
|
||||||
'exception' => $exception,
|
'exception' => $exception,
|
||||||
'exception_message' => $exception_message,
|
'exception_message' => $exception_message,
|
||||||
'mapbox_token' => $_ENV['MAPBOX_TOKEN'],
|
'mapbox_token' => $_ENV['MAPBOX_TOKEN'],
|
||||||
|
|
|
@ -53,7 +53,7 @@ class Place
|
||||||
#[ORM\OneToMany(targetEntity: History::class, mappedBy: 'place_id', orphanRemoval: true)]
|
#[ORM\OneToMany(targetEntity: History::class, mappedBy: 'place_id', orphanRemoval: true)]
|
||||||
private Collection $histories;
|
private Collection $histories;
|
||||||
|
|
||||||
#[ORM\ManyToOne(inversedBy: 'places', cascade: ['persist'])]
|
#[ORM\ManyToOne(inversedBy: 'places')]
|
||||||
private ?Stats $stats = null;
|
private ?Stats $stats = null;
|
||||||
|
|
||||||
#[ORM\Column(type: Types::BIGINT)]
|
#[ORM\Column(type: Types::BIGINT)]
|
||||||
|
|
|
@ -33,7 +33,11 @@
|
||||||
|
|
||||||
{% if commerce_overpass is not empty %}
|
{% if commerce_overpass is not empty %}
|
||||||
|
|
||||||
<form action="{{ path('app_public_submit', {'osm_object_id': commerce_overpass['@attributes'].id, 'version': commerce_overpass['@attributes'].version, 'changesetID': commerce_overpass['@attributes'].changeset }) }}"
|
<form action="{{ path('app_public_submit',
|
||||||
|
{'osm_object_id': commerce_overpass['@attributes'].id,
|
||||||
|
'version': commerce_overpass['@attributes'].version,
|
||||||
|
'changesetID': commerce_overpass['@attributes'].changeset,
|
||||||
|
'insee_code': zipcode }) }}"
|
||||||
method="post" class="needs-validation">
|
method="post" class="needs-validation">
|
||||||
|
|
||||||
<div id="main_name" class="row g-3 mb-4">
|
<div id="main_name" class="row g-3 mb-4">
|
||||||
|
|
|
@ -122,7 +122,10 @@
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<form action="{{ path('app_public_submit', {'osm_object_id': commerce_overpass['@attributes'].id, 'version': commerce_overpass['@attributes'].version, 'changesetID': commerce_overpass['@attributes'].changeset }) }}" method="post" class="needs-validation">
|
<form action="{{ path('app_public_submit', {'osm_object_id': commerce_overpass['@attributes'].id,
|
||||||
|
'version': commerce_overpass['@attributes'].version,
|
||||||
|
'changesetID': commerce_overpass['@attributes'].changeset,
|
||||||
|
'insee_code' : insee_code }) }}" method="post" class="needs-validation">
|
||||||
<input type="hidden" name="osm_kind" value="{{ place.osmKind }}">
|
<input type="hidden" name="osm_kind" value="{{ place.osmKind }}">
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue