diff --git a/assets/app.js b/assets/app.js index ea61870..89eb288 100644 --- a/assets/app.js +++ b/assets/app.js @@ -157,7 +157,7 @@ document.addEventListener('DOMContentLoaded', () => { // Créer les cases à cocher pour chaque jour const jours = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche']; const joursDiv = document.createElement('div'); - joursDiv.classList.add('jours-ouverture', 'mb-4', 'row', 'g-3'); + joursDiv.classList.add('jours-ouverture', 'mb-4', 'row', 'g-3', 'mx-4'); jours.forEach(jour => { const jourContainer = document.createElement('div'); @@ -542,8 +542,37 @@ document.addEventListener('DOMContentLoaded', () => { document.querySelector('form').addEventListener('submit', check_validity); document.addEventListener('DOMContentLoaded', updateCompletionProgress); + // Focus sur le premier champ texte au chargement + const firstTextInput = document.querySelector('input.form-control'); + if (firstTextInput) { + firstTextInput.focus(); + console.log('focus sur le premier champ texte', firstTextInput); + } else { + console.log('pas de champ texte trouvé'); + } + function parseCuisine() { + const cuisineInput = document.querySelector('input[name="commerce_tag_value__cuisine"]'); + + // Récupérer tous les checkboxes de type de cuisine + const cuisineCheckboxes = document.querySelectorAll('input[name="cuisine_type"]'); + + // Ajouter un écouteur d'événement sur chaque checkbox + cuisineCheckboxes.forEach(checkbox => { + checkbox.addEventListener('change', () => { + // Récupérer toutes les checkboxes cochées + const checkedCuisines = Array.from(document.querySelectorAll('input[name="cuisine_type"]:checked')) + .map(input => input.value); + + // Mettre à jour l'input avec les valeurs séparées par des points-virgules + cuisineInput.value = checkedCuisines.join(';'); + }); + }); + } + + parseCuisine(); + }); diff --git a/src/Controller/PublicController.php b/src/Controller/PublicController.php index 7c61ebf..61b5b9c 100644 --- a/src/Controller/PublicController.php +++ b/src/Controller/PublicController.php @@ -45,6 +45,10 @@ class PublicController extends AbstractController if ($existingPlace) { // Mettre à jour l'email de la Place existante $existingPlace->setEmail($email)->setLastContactAttemptDate(new \DateTime()); + if($zipCode != -1) { + $existingPlace->setZipCode($zipCode); + } + $this->entityManager->persist($existingPlace); $this->entityManager->flush(); $debug = ''; diff --git a/src/Service/Motocultrice.php b/src/Service/Motocultrice.php index b6cf97d..ebaf6c0 100644 --- a/src/Service/Motocultrice.php +++ b/src/Service/Motocultrice.php @@ -151,9 +151,9 @@ QUERY; [out:json][timeout:25]; area["postal_code"="{$zone}"]->.searchArea; ( - nw["amenity"]["cafe|bar|restaurant"](area.searchArea); + nw["amenity"]["cafe|bar|restaurant|library|cinema|fast_food"](area.searchArea); nw["shop"](area.searchArea); - nw["tourism"="museum"](area.searchArea); + nw["tourism"="museum|hotel|chalet|apartment"](area.searchArea); nw["office"](area.searchArea); ); out body; @@ -247,6 +247,16 @@ QUERY; return $osm_object_data['node']; } if(isset($osm_object_data['way'])){ + // Vérifier si le way a des tags + if (!isset($osm_object_data['way']['tag'])) { + $osm_object_data['way']['tags_converted'] = []; + return $osm_object_data['way']; + } + + // Si un seul tag, le convertir en tableau + if (isset($osm_object_data['way']['tag']['@attributes'])) { + $osm_object_data['way']['tag'] = [$osm_object_data['way']['tag']]; + } foreach ($osm_object_data['way']['tag'] as $attribute) { $osm_object_data['way']['tags_converted'][$attribute['@attributes']['k']] = $attribute['@attributes']['v']; } diff --git a/templates/public/edit.html.twig b/templates/public/edit.html.twig index 0d2c22e..9bf8a1b 100644 --- a/templates/public/edit.html.twig +++ b/templates/public/edit.html.twig @@ -31,10 +31,7 @@