up traffic
This commit is contained in:
parent
11cd3236c5
commit
3ec22cbe3b
4 changed files with 321 additions and 58 deletions
|
@ -115,30 +115,85 @@
|
|||
|
||||
{% block scripts %}
|
||||
<script>
|
||||
// Event data from API - corriger le double-encodage
|
||||
// Event data from API - using proper JSON serialization
|
||||
window.eventData = null;
|
||||
try {
|
||||
// Utiliser directement les données JSON sans double-encodage
|
||||
window.eventData = {{ event_data|safe }};
|
||||
console.log('✅ Données événement chargées:', window.eventData);
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur de chargement des données événement:', error);
|
||||
console.error('Données brutes JSON:', '{{ event_data|safe }}');
|
||||
|
||||
// Afficher une erreur à l'utilisateur
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const resultElement = document.getElementById('result');
|
||||
if (resultElement) {
|
||||
resultElement.innerHTML = `
|
||||
<div style="color: #dc3545; padding: 15px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px;">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
<strong>Erreur de chargement:</strong> Impossible de charger les données de l'événement.
|
||||
<br><small>Erreur technique: ${error.message}</small>
|
||||
</div>
|
||||
`;
|
||||
resultElement.style.display = 'block';
|
||||
}
|
||||
});
|
||||
try {
|
||||
// Use Jinja2's tojson filter for proper JSON encoding
|
||||
window.eventData = {{ event_data|tojson }};
|
||||
console.log('✅ Données événement chargées via tojson:', window.eventData);
|
||||
|
||||
if (!window.eventData || window.eventData === null) {
|
||||
throw new Error('Données d\'événement nulles depuis le template');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur de chargement des données depuis le template:', error);
|
||||
|
||||
// Fallback: try to fetch from API directly
|
||||
const eventId = document.getElementById('eventId')?.value;
|
||||
if (eventId) {
|
||||
console.log('🔄 Fallback: Récupération directe depuis l\'API...');
|
||||
fetch(`https://api.openeventdatabase.org/event/${eventId}`)
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error(`API returned ${response.status}: ${response.statusText}`);
|
||||
}
|
||||
return response.json();
|
||||
})
|
||||
.then(data => {
|
||||
console.log('✅ Données récupérées depuis l\'API (fallback):', data);
|
||||
window.eventData = data;
|
||||
// Trigger form population
|
||||
if (typeof populateForm === 'function') {
|
||||
populateForm();
|
||||
} else {
|
||||
// Wait for edit.js to load
|
||||
setTimeout(() => {
|
||||
if (typeof populateForm === 'function') {
|
||||
populateForm();
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
})
|
||||
.catch(apiError => {
|
||||
console.error('❌ Erreur API également:', apiError);
|
||||
// Show error to user
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const resultElement = document.getElementById('result');
|
||||
if (resultElement) {
|
||||
resultElement.innerHTML = `
|
||||
<div style="color: #dc3545; padding: 15px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px;">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
<strong>Erreur de chargement:</strong> Impossible de charger les données de l'événement.
|
||||
<br><small>Erreur template: ${error.message}</small>
|
||||
<br><small>Erreur API: ${apiError.message}</small>
|
||||
<br><br>
|
||||
<a href="/demo" class="button">Retour à la carte</a>
|
||||
</div>
|
||||
`;
|
||||
resultElement.style.display = 'block';
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
console.error('❌ Aucun ID d\'événement trouvé pour le fallback API');
|
||||
|
||||
// Show error immediately
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const resultElement = document.getElementById('result');
|
||||
if (resultElement) {
|
||||
resultElement.innerHTML = `
|
||||
<div style="color: #dc3545; padding: 15px; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px;">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
<strong>Erreur:</strong> ID d'événement manquant et impossible de charger les données.
|
||||
<br><br>
|
||||
<a href="/demo" class="button">Retour à la carte</a>
|
||||
</div>
|
||||
`;
|
||||
resultElement.style.display = 'block';
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script src="/static/edit.js"></script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue