diff --git a/app/controllers/Event_Controller.php b/app/controllers/Event_Controller.php index ff360ae..3b6bc1c 100644 --- a/app/controllers/Event_Controller.php +++ b/app/controllers/Event_Controller.php @@ -567,12 +567,21 @@ class CRVI_Event_Controller { $langue_term = get_term_by('slug', $langue_original, 'langue'); if ($langue_term && !is_wp_error($langue_term)) { $langue_label = $langue_term->name; + } else { + // Debug: comprendre pourquoi on ne trouve pas le terme + error_log('CRVI Debug - Langue non trouvée: ID=' . $langue_original); + if (is_wp_error($langue_term)) { + error_log('CRVI Debug - Erreur WP: ' . $langue_term->get_error_message()); + } } } - // Ajouter le label de la langue pour l'affichage dans la modal + // Ajouter le label de la langue pour l'affichage dans la modal (seulement si on a trouvé le nom) if (!empty($langue_label)) { $event['langue_label'] = $langue_label; + } else { + // Ne pas assigner l'ID comme fallback - laisser le champ vide + $event['langue_label'] = ''; } } @@ -626,12 +635,21 @@ class CRVI_Event_Controller { $langue_term = get_term_by('slug', $langue_original, 'langue'); if ($langue_term && !is_wp_error($langue_term)) { $langue_label = $langue_term->name; + } else { + // Debug: comprendre pourquoi on ne trouve pas le terme + error_log('CRVI Debug get_event - Langue non trouvée: ID=' . $langue_original); + if (is_wp_error($langue_term)) { + error_log('CRVI Debug get_event - Erreur WP: ' . $langue_term->get_error_message()); + } } } - // Ajouter le label de la langue pour l'affichage dans la modal + // Ajouter le label de la langue pour l'affichage dans la modal (seulement si on a trouvé le nom) if (!empty($langue_label)) { $event['langue_label'] = $langue_label; + } else { + // Ne pas assigner l'ID comme fallback - laisser le champ vide + $event['langue_label'] = ''; } } @@ -1517,6 +1535,12 @@ class CRVI_Event_Controller { $langue_term = get_term_by('slug', $langue_original, 'langue'); if ($langue_term && !is_wp_error($langue_term)) { $langue_label = $langue_term->name; + } else { + // Debug: comprendre pourquoi on ne trouve pas le terme + error_log('CRVI Debug FullCalendar - Langue non trouvée: ID=' . $langue_original); + if (is_wp_error($langue_term)) { + error_log('CRVI Debug FullCalendar - Erreur WP: ' . $langue_term->get_error_message()); + } } } } diff --git a/assets/js/modules/agenda-modal-select.js b/assets/js/modules/agenda-modal-select.js index aeee5f6..cace592 100644 --- a/assets/js/modules/agenda-modal-select.js +++ b/assets/js/modules/agenda-modal-select.js @@ -133,6 +133,12 @@ function mergeEventDataWithAvailability(availabilityData, eventData) { langueNom = eventData.langue.nom || 'Langue'; langueSlug = eventData.langue.slug || eventData.langue.id || langueId; } else { + // Vérifier si langue_label existe et n'est pas égal à l'ID + if (eventData.langue_label && eventData.langue_label !== langueId) { + langueNom = eventData.langue_label; + } else if (extendedProps.langue_label && extendedProps.langue_label !== langueId) { + langueNom = extendedProps.langue_label; + } langueSlug = langueId; } diff --git a/assets/js/modules/agenda-modal.js b/assets/js/modules/agenda-modal.js index 3581a42..195f39d 100644 --- a/assets/js/modules/agenda-modal.js +++ b/assets/js/modules/agenda-modal.js @@ -121,80 +121,101 @@ async function loadEventIncidents(eventId) { /** * Ouvre la modal d'incidents en mode affichage + * Utilise la fonction générique openSubModal pour gérer la fermeture/réouverture de la modale principale * @param {number} eventId - ID de l'événement */ async function openIncidentsViewModal(eventId) { - const incidentModal = document.getElementById('declarationIncidentModal'); - const modalTitle = document.getElementById('declarationIncidentModalLabel'); - const viewSection = document.getElementById('incidentsViewSection'); - const formSection = document.getElementById('incidentsFormSection'); - const viewFooter = document.getElementById('incidentsViewFooter'); - const formFooter = document.getElementById('incidentsFormFooter'); - const listContainer = document.getElementById('incidentsListContainer'); - - if (!incidentModal || !viewSection || !formSection || !listContainer) { - notifyError('Modal d\'incidents introuvable'); - return; - } - - try { - // Charger les incidents - const incidents = await loadEventIncidents(eventId); - - if (incidents.length === 0) { - listContainer.innerHTML = '
Aucun incident signalé pour cet événement.
'; - } else { - // Afficher les incidents - let html = 'Résumé : ${incident.resume_incident}
` : ''} - ${incident.commentaire_incident ? `${incident.commentaire_incident}
` : ''}Aucun incident signalé pour cet événement.
'; + } else { + // Afficher les incidents + let html = 'Résumé : ${incident.resume_incident}
` : ''} + ${incident.commentaire_incident ? `${incident.commentaire_incident}
` : ''} +Erreur lors du chargement des incidents
'; + notifyError('Erreur lors du chargement des incidents'); + } + }, + // Callback après fermeture : réinitialiser au mode formulaire + (subModal) => { + const modalTitle = document.getElementById('declarationIncidentModalLabel'); + const viewSection = document.getElementById('incidentsViewSection'); + const formSection = document.getElementById('incidentsFormSection'); + const viewFooter = document.getElementById('incidentsViewFooter'); + const formFooter = document.getElementById('incidentsFormFooter'); + const listContainer = document.getElementById('incidentsListContainer'); + + // Réinitialiser au mode formulaire + if (viewSection) viewSection.style.display = 'none'; + if (formSection) formSection.style.display = 'block'; + if (viewFooter) viewFooter.style.display = 'none'; + if (formFooter) formFooter.style.display = 'block'; if (modalTitle) { modalTitle.innerHTML = 'Signaler un incident'; } - // Retirer l'écouteur pour éviter les duplications - incidentModal.removeEventListener('hidden.bs.modal', resetModalMode); - }); - - } catch (error) { - console.error('Erreur lors de l\'ouverture de la modal d\'incidents:', error); - notifyError('Erreur lors du chargement des incidents'); - } + if (listContainer) { + listContainer.innerHTML = ''; + } + } + ); } /**