ajout debug langue
This commit is contained in:
parent
f6ae2c7a59
commit
4e0f28d354
@ -567,12 +567,21 @@ class CRVI_Event_Controller {
|
|||||||
$langue_term = get_term_by('slug', $langue_original, 'langue');
|
$langue_term = get_term_by('slug', $langue_original, 'langue');
|
||||||
if ($langue_term && !is_wp_error($langue_term)) {
|
if ($langue_term && !is_wp_error($langue_term)) {
|
||||||
$langue_label = $langue_term->name;
|
$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)) {
|
if (!empty($langue_label)) {
|
||||||
$event['langue_label'] = $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');
|
$langue_term = get_term_by('slug', $langue_original, 'langue');
|
||||||
if ($langue_term && !is_wp_error($langue_term)) {
|
if ($langue_term && !is_wp_error($langue_term)) {
|
||||||
$langue_label = $langue_term->name;
|
$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)) {
|
if (!empty($langue_label)) {
|
||||||
$event['langue_label'] = $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');
|
$langue_term = get_term_by('slug', $langue_original, 'langue');
|
||||||
if ($langue_term && !is_wp_error($langue_term)) {
|
if ($langue_term && !is_wp_error($langue_term)) {
|
||||||
$langue_label = $langue_term->name;
|
$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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -133,6 +133,12 @@ function mergeEventDataWithAvailability(availabilityData, eventData) {
|
|||||||
langueNom = eventData.langue.nom || 'Langue';
|
langueNom = eventData.langue.nom || 'Langue';
|
||||||
langueSlug = eventData.langue.slug || eventData.langue.id || langueId;
|
langueSlug = eventData.langue.slug || eventData.langue.id || langueId;
|
||||||
} else {
|
} 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;
|
langueSlug = langueId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -121,10 +121,15 @@ async function loadEventIncidents(eventId) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Ouvre la modal d'incidents en mode affichage
|
* 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
|
* @param {number} eventId - ID de l'événement
|
||||||
*/
|
*/
|
||||||
async function openIncidentsViewModal(eventId) {
|
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 modalTitle = document.getElementById('declarationIncidentModalLabel');
|
||||||
const viewSection = document.getElementById('incidentsViewSection');
|
const viewSection = document.getElementById('incidentsViewSection');
|
||||||
const formSection = document.getElementById('incidentsFormSection');
|
const formSection = document.getElementById('incidentsFormSection');
|
||||||
@ -132,12 +137,21 @@ async function openIncidentsViewModal(eventId) {
|
|||||||
const formFooter = document.getElementById('incidentsFormFooter');
|
const formFooter = document.getElementById('incidentsFormFooter');
|
||||||
const listContainer = document.getElementById('incidentsListContainer');
|
const listContainer = document.getElementById('incidentsListContainer');
|
||||||
|
|
||||||
if (!incidentModal || !viewSection || !formSection || !listContainer) {
|
if (!viewSection || !formSection || !listContainer) {
|
||||||
notifyError('Modal d\'incidents introuvable');
|
notifyError('Sections de la modal d\'incidents introuvables');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
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
|
// Charger les incidents
|
||||||
const incidents = await loadEventIncidents(eventId);
|
const incidents = await loadEventIncidents(eventId);
|
||||||
|
|
||||||
@ -174,27 +188,34 @@ async function openIncidentsViewModal(eventId) {
|
|||||||
viewFooter.style.display = 'block';
|
viewFooter.style.display = 'block';
|
||||||
formFooter.style.display = 'none';
|
formFooter.style.display = 'none';
|
||||||
|
|
||||||
// Ouvrir la modal
|
} catch (error) {
|
||||||
const bsModal = new bootstrap.Modal(incidentModal);
|
console.error('Erreur lors du chargement des incidents:', error);
|
||||||
bsModal.show();
|
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
|
// Réinitialiser au mode formulaire
|
||||||
incidentModal.addEventListener('hidden.bs.modal', function resetModalMode() {
|
if (viewSection) viewSection.style.display = 'none';
|
||||||
viewSection.style.display = 'none';
|
if (formSection) formSection.style.display = 'block';
|
||||||
formSection.style.display = 'block';
|
if (viewFooter) viewFooter.style.display = 'none';
|
||||||
viewFooter.style.display = 'none';
|
if (formFooter) formFooter.style.display = 'block';
|
||||||
formFooter.style.display = 'block';
|
|
||||||
if (modalTitle) {
|
if (modalTitle) {
|
||||||
modalTitle.innerHTML = '<i class="fas fa-exclamation-triangle me-2"></i>Signaler un incident';
|
modalTitle.innerHTML = '<i class="fas fa-exclamation-triangle me-2"></i>Signaler un incident';
|
||||||
}
|
}
|
||||||
// Retirer l'écouteur pour éviter les duplications
|
if (listContainer) {
|
||||||
incidentModal.removeEventListener('hidden.bs.modal', resetModalMode);
|
listContainer.innerHTML = '';
|
||||||
});
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Erreur lors de l\'ouverture de la modal d\'incidents:', error);
|
|
||||||
notifyError('Erreur lors du chargement des incidents');
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user