ajout infos formulaire envoi
This commit is contained in:
parent
44b4f49289
commit
2bcec59281
11 changed files with 211 additions and 61 deletions
|
@ -316,16 +316,26 @@ class PublicController extends AbstractController
|
|||
$osm_kind = $request->request->get('osm_kind', 'node');
|
||||
// Récupérer tous les tags du formulaire
|
||||
$tags = [];
|
||||
$request_post = $request->request->all();
|
||||
$request_post = $request->request->all();
|
||||
$request_post = $this->motocultrice->map_post_values($request_post);
|
||||
$request_post = $request_post ?? [];
|
||||
// Log temporaire pour debug POST
|
||||
file_put_contents('/tmp/debug_post.txt', print_r($request_post, true));
|
||||
// Debug visuel immédiat
|
||||
$excluded_post_fields = [];
|
||||
foreach ($request_post as $key => $value) {
|
||||
if (strpos($key, 'commerce_tag_value__') === 0) {
|
||||
$tagKey = str_replace('commerce_tag_value__', '', $key);
|
||||
if (!empty($value)) {
|
||||
$tags[$tagKey] = trim($value);
|
||||
}
|
||||
// On ajoute la clé même si la valeur est vide (pour affichage suppression)
|
||||
$tags[$tagKey] = trim($value);
|
||||
} else {
|
||||
$excluded_post_fields[] = $key;
|
||||
}
|
||||
}
|
||||
// Récupérer les tags Overpass avant modification
|
||||
$currentObjectData = $this->motocultrice->get_osm_object_data($osm_kind, $osm_object_id);
|
||||
$tags_before_modif = $currentObjectData['tags_converted'] ?? [];
|
||||
$tags_after_modif = $tags;
|
||||
// var_dump('POST brut', $_POST);
|
||||
// var_dump('request->request->all()', $request->request->all());
|
||||
// var_dump('tags extraits', $tags);
|
||||
|
@ -359,9 +369,6 @@ class PublicController extends AbstractController
|
|||
|
||||
$newChangesetId = $changesetResponse->getBody()->getContents();
|
||||
|
||||
// Récupérer les données actuelles de l'objet
|
||||
$currentObjectData = $this->motocultrice->get_osm_object_data($osm_kind, $osm_object_id);
|
||||
|
||||
// 2. Modifier l'objet avec le nouveau changeset
|
||||
$xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><osm version="0.6"></osm>');
|
||||
$object = $xml->addChild($osm_kind);
|
||||
|
@ -474,6 +481,9 @@ class PublicController extends AbstractController
|
|||
'maptiler_token' => $_ENV['MAPTILER_TOKEN'],
|
||||
'hide_filled_inputs' => false,
|
||||
'excluded_tags_to_render' => $this->motocultrice->excluded_tags_to_render,
|
||||
'tags_before_modif' => $tags_before_modif ?? null,
|
||||
'tags_after_modif' => $tags_after_modif ?? null,
|
||||
'excluded_post_fields' => $excluded_post_fields ?? null,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -123,22 +123,25 @@ out meta;';
|
|||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* fait le lien entre les tags du formulaire et les tags OSM pour les champs personnalisés
|
||||
*
|
||||
* @param [type] $request_post
|
||||
* @return void
|
||||
*/
|
||||
public function map_post_values($request_post) {
|
||||
|
||||
$has_ask_angela = false;
|
||||
$remove_ask_angela = false;
|
||||
$has_ask_angela = false;
|
||||
$has_opening_hours = false;
|
||||
|
||||
|
||||
$modified_request_post = [];
|
||||
|
||||
|
||||
foreach ($request_post as $key => $value) {
|
||||
if (strpos($key, 'custom__ask_angela') === 0 ) {
|
||||
if($value == 'ask_angela'){
|
||||
$has_ask_angela = true;
|
||||
}else{
|
||||
$remove_ask_angela = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (strpos($key, 'custom__opening_hours') === 0 && $value != '') {
|
||||
$has_opening_hours = true;
|
||||
|
@ -148,10 +151,7 @@ out meta;';
|
|||
|
||||
if($has_ask_angela) {
|
||||
$modified_request_post['commerce_tag_value__harassment_prevention'] = 'ask_angela';
|
||||
}
|
||||
if($remove_ask_angela) {
|
||||
unset($modified_request_post['commerce_tag_value__harassment_prevention']);
|
||||
}
|
||||
}
|
||||
|
||||
if($has_opening_hours) {
|
||||
$modified_request_post['commerce_tag_value__opening_hours'] = $request_post['commerce_tag_value__opening_hours'];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue