ajout debug langue

This commit is contained in:
Jean-Philippe Staelen 2026-01-20 14:11:21 +01:00
parent f6ae2c7a59
commit 4e0f28d354
3 changed files with 118 additions and 67 deletions

View File

@ -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());
}
}
}
}

View File

@ -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;
}

View File

@ -121,10 +121,15 @@ 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');
// Utiliser openSubModal pour gérer automatiquement la fermeture/réouverture
openSubModal(
'declarationIncidentModal',
// Callback avant ouverture : charger et afficher les incidents
async (subModal) => {
const modalTitle = document.getElementById('declarationIncidentModalLabel');
const viewSection = document.getElementById('incidentsViewSection');
const formSection = document.getElementById('incidentsFormSection');
@ -132,12 +137,21 @@ async function openIncidentsViewModal(eventId) {
const formFooter = document.getElementById('incidentsFormFooter');
const listContainer = document.getElementById('incidentsListContainer');
if (!incidentModal || !viewSection || !formSection || !listContainer) {
notifyError('Modal d\'incidents introuvable');
if (!viewSection || !formSection || !listContainer) {
notifyError('Sections de la modal d\'incidents introuvables');
return;
}
try {
// Afficher un spinner de chargement
listContainer.innerHTML = `
<div class="text-center py-4">
<div class="spinner-border text-primary" role="status">
<span class="visually-hidden">Chargement...</span>
</div>
</div>
`;
// Charger les incidents
const incidents = await loadEventIncidents(eventId);
@ -174,27 +188,34 @@ async function openIncidentsViewModal(eventId) {
viewFooter.style.display = 'block';
formFooter.style.display = 'none';
// Ouvrir la modal
const bsModal = new bootstrap.Modal(incidentModal);
bsModal.show();
} catch (error) {
console.error('Erreur lors du chargement des incidents:', error);
listContainer.innerHTML = '<p class="text-danger">Erreur lors du chargement des incidents</p>';
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 quand la modal se ferme
incidentModal.addEventListener('hidden.bs.modal', function resetModalMode() {
viewSection.style.display = 'none';
formSection.style.display = 'block';
viewFooter.style.display = 'none';
formFooter.style.display = 'block';
// 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 = '<i class="fas fa-exclamation-triangle me-2"></i>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 = '';
}
}
);
}
/**