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) {
|
||||
$stats = $stats_exist;
|
||||
} else {
|
||||
// var_dump('création d\'objet stats ');
|
||||
$stats = new Stats();
|
||||
$zipcode = (string)$demande->getInsee();
|
||||
$stats->setZone($zipcode);
|
||||
|
@ -387,6 +388,7 @@ class PublicController extends AbstractController
|
|||
'name' => $name,
|
||||
'commerce' => $place,
|
||||
'zone' => $zipcode,
|
||||
'zipcode' => $zipcode,
|
||||
'completion_percentage' => $place->getCompletionPercentage(),
|
||||
'hide_filled_inputs' => $this->hide_filled_inputs,
|
||||
'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')]
|
||||
public function submit($osm_object_id, $version, $changesetID): Response
|
||||
#[Route('/modify/{osm_object_id}/{version}/{changesetID}/{insee_code}', name: 'app_public_submit')]
|
||||
public function submit($osm_object_id, $version, $changesetID,$insee_code): Response
|
||||
{
|
||||
|
||||
$this->actionLogger->log('submit_object', [
|
||||
|
@ -509,11 +511,15 @@ class PublicController extends AbstractController
|
|||
'changesetID' => $changesetID
|
||||
]);
|
||||
$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');
|
||||
}
|
||||
|
||||
$stats = $place->getStats();
|
||||
$stat_zone = $stats->getZone();
|
||||
// var_dump('stats object:', $stats->getZone());
|
||||
// Récupérer les données POST
|
||||
$request = Request::createFromGlobals();
|
||||
|
||||
|
@ -555,11 +561,6 @@ class PublicController extends AbstractController
|
|||
// Récupérer le token OSM depuis les variables d'environnement
|
||||
$osm_api_token = $_ENV['APP_OSM_BEARER'];
|
||||
|
||||
|
||||
// var_dump($tags_after_modif);
|
||||
// die("tosssp");
|
||||
|
||||
|
||||
try {
|
||||
$client = new Client();
|
||||
|
||||
|
@ -661,27 +662,28 @@ class PublicController extends AbstractController
|
|||
|
||||
$place->update_place_from_overpass_data($commerce_overpass);
|
||||
$this->entityManager->persist($place);
|
||||
$this->entityManager->flush();
|
||||
$this->entityManager->clear();
|
||||
// $this->entityManager->flush();
|
||||
// $this->entityManager->clear();
|
||||
|
||||
$stats = $place->getStats();
|
||||
if (!$stats) {
|
||||
$stats_exist = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $place->getZipCode()]);
|
||||
if ($stats_exist) {
|
||||
$stats = $stats_exist;
|
||||
} else {
|
||||
$stats = new Stats();
|
||||
$stats->setZone($place->getZipCode());
|
||||
$stats->setKind('user'); // Set the kind to 'user' as it's created from a user interaction
|
||||
}
|
||||
}
|
||||
// if (!$stats) {
|
||||
// // When modifying a Place, only use existing Stats objects, don't create new ones
|
||||
// $stats_exist = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $insee_code]);
|
||||
// if ($stats_exist) {
|
||||
// $stats = $stats_exist;
|
||||
// } else {
|
||||
// // If no Stats object exists for this INSEE code, we can't proceed
|
||||
// $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);
|
||||
$place->setStats($stats);
|
||||
// $place->setStats($stats);
|
||||
$place->setModifiedDate(new \DateTime());
|
||||
|
||||
$stats->computeCompletionPercent();
|
||||
$this->entityManager->persist($stats);
|
||||
// $this->entityManager->persist($stats);
|
||||
$this->entityManager->persist($place);
|
||||
$this->entityManager->flush();
|
||||
$this->entityManager->clear();
|
||||
|
@ -693,6 +695,8 @@ class PublicController extends AbstractController
|
|||
'commerce_overpass' => $commerce_overpass,
|
||||
'place' => $place,
|
||||
'status' => $status,
|
||||
'insee_code' => $insee_code,
|
||||
'stat_zone' => $stat_zone,
|
||||
'exception' => $exception,
|
||||
'exception_message' => $exception_message,
|
||||
'mapbox_token' => $_ENV['MAPBOX_TOKEN'],
|
||||
|
|
|
@ -53,7 +53,7 @@ class Place
|
|||
#[ORM\OneToMany(targetEntity: History::class, mappedBy: 'place_id', orphanRemoval: true)]
|
||||
private Collection $histories;
|
||||
|
||||
#[ORM\ManyToOne(inversedBy: 'places', cascade: ['persist'])]
|
||||
#[ORM\ManyToOne(inversedBy: 'places')]
|
||||
private ?Stats $stats = null;
|
||||
|
||||
#[ORM\Column(type: Types::BIGINT)]
|
||||
|
|
|
@ -33,7 +33,11 @@
|
|||
|
||||
{% 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">
|
||||
|
||||
<div id="main_name" class="row g-3 mb-4">
|
||||
|
|
|
@ -122,7 +122,10 @@
|
|||
|
||||
<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 }}">
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue