This commit is contained in:
Tykayn 2025-09-26 17:38:30 +02:00 committed by tykayn
parent 2bb77d2300
commit 98c40b2447
16 changed files with 1836 additions and 361 deletions

View file

@ -170,40 +170,52 @@ document.getElementById('deleteButton').addEventListener('click', function() {
const eventId = document.getElementById('eventId').value;
// Show confirmation dialog
if (confirm('Are you sure you want to delete this event? This action cannot be undone.')) {
// Submit delete request to API
fetch(`/event/${eventId}`, {
if (confirm('Êtes-vous sûr de vouloir supprimer cet événement ? Cette action ne peut pas être annulée.')) {
// Show loading message
showResult('Suppression en cours...', 'info');
// Submit delete request to external API
fetch(`https://api.openeventdatabase.org/event/${eventId}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
}
})
.then(response => {
if (response.ok) {
showResult('Event deleted successfully', 'success');
if (response.ok || response.status === 204) {
showResult('✅ Événement supprimé avec succès !', 'success');
// Add link to go back to map
const resultElement = document.getElementById('result');
resultElement.innerHTML += `<p><a href="/demo">Back to Map</a></p>`;
resultElement.innerHTML += `<p><a href="/demo">Retour à la carte</a></p>`;
// Disable form controls
const formElements = document.querySelectorAll('#eventForm input, #eventForm select, #eventForm button');
formElements.forEach(element => {
element.disabled = true;
});
// Redirect to demo page after 2 seconds
// Redirect to demo page after 3 seconds
setTimeout(() => {
window.location.href = '/demo';
}, 2000);
}, 3000);
} else if (response.status === 404) {
throw new Error('Événement non trouvé sur l\'API externe');
} else if (response.status === 403) {
throw new Error('Accès non autorisé - un secret pourrait être requis pour supprimer cet événement');
} else {
return response.text().then(text => {
throw new Error(text || response.statusText);
throw new Error(text || `Erreur HTTP ${response.status}: ${response.statusText}`);
});
}
})
.catch(error => {
showResult(`Error deleting event: ${error.message}`, 'error');
console.error('Erreur lors de la suppression:', error);
if (error.name === 'TypeError' && error.message.includes('Failed to fetch')) {
showResult('❌ Erreur de connexion : Impossible de joindre l\'API api.openeventdatabase.org', 'error');
} else {
showResult(`❌ Erreur lors de la suppression : ${error.message}`, 'error');
}
});
}
});