diff --git a/admin-dashboard.html b/admin-dashboard.html
index 139f89a..d5e8ba6 100644
--- a/admin-dashboard.html
+++ b/admin-dashboard.html
@@ -4627,22 +4627,26 @@ async function deleteReservation(id) {
if (!confirm('Opravdu chcete smazat tuto rezervaci?')) {
return;
}
-
+
try {
- const response = await fetch(`/api/delete-reservation`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({ id: id })
- });
-
- const result = await response.json();
-
- if (!response.ok) {
- throw new Error(result.error || 'Nepodařilo se smazat rezervaci');
+ const token = localStorage.getItem('token');
+ if (!token) {
+ window.location.href = '/login.html';
+ return;
}
-
+
+ const response = await fetch(`/api/reservations/${id}`, {
+ method: 'DELETE',
+ headers: {
+ 'Authorization': `Bearer ${token}`,
+ 'Content-Type': 'application/json'
+ }
+ });
+
+ if (!response.ok) {
+ throw new Error('Nepodařilo se smazat rezervaci');
+ }
+
// Remove the reservation from the local array and update the display
window.allReservations = window.allReservations.filter(r => r.id !== id);
updateVehicleFilter(window.allReservations);
@@ -4700,29 +4704,32 @@ async function saveReservation(event) {
return;
}
- // Create ISO date strings
- const start = new Date(`${startDate}T${startTime}`).toISOString();
- const end = new Date(`${endDate}T${endTime}`).toISOString();
-
try {
- const response = await fetch('/api/update-reservation', {
- method: 'POST',
+ const token = localStorage.getItem('token');
+ if (!token) {
+ window.location.href = '/login.html';
+ return;
+ }
+
+ const response = await fetch(`/api/reservations/${id}`, {
+ method: 'PUT',
headers: {
- 'Content-Type': 'application/json',
+ 'Authorization': `Bearer ${token}`,
+ 'Content-Type': 'application/json'
},
body: JSON.stringify({
- id,
driverName,
vehicle,
- start,
- end,
+ startDate,
+ startTime,
+ endDate,
+ endTime,
purpose
})
});
- const result = await response.json();
-
if (!response.ok) {
+ const result = await response.json();
throw new Error(result.error || 'Nepodařilo se uložit změny');
}
@@ -4733,8 +4740,10 @@ async function saveReservation(event) {
...window.allReservations[index],
driverName,
vehicle,
- start,
- end,
+ startDate,
+ startTime,
+ endDate,
+ endTime,
purpose
};
@@ -4792,7 +4801,6 @@ document.addEventListener('DOMContentLoaded', function() {
// Load reservations when page loads
document.addEventListener('DOMContentLoaded', () => {
- // ...existing code...
loadReservations();
});
diff --git a/rezervace-aut.html b/rezervace-aut.html
index 214afdd..efe5883 100644
--- a/rezervace-aut.html
+++ b/rezervace-aut.html
@@ -1467,18 +1467,7 @@
eventDidMount: function(info) {
const vehicle = info.event.extendedProps.vehicle;
const vehicleClass = 'event-' + vehicle.toLowerCase().replace(/\s+/g, '-');
-
- // Apply vehicle-specific styling
info.el.classList.add(vehicleClass);
-
- // Apply initial filtering
- if (selectedVehicle !== 'all' && vehicle !== selectedVehicle) {
- info.el.style.display = 'none';
- info.el.style.visibility = 'hidden';
- } else {
- info.el.style.display = 'block';
- info.el.style.visibility = 'visible';
- }
},
eventSourceSuccess: function(content, xhr) {
// This runs after events are successfully loaded from the API
@@ -1516,37 +1505,22 @@
function filterEvents() {
const events = calendar.getEvents();
events.forEach(event => {
- const eventEl = event.el;
+ const eventEl = calendar.getEventById(event.id);
if (eventEl) {
if (selectedVehicle === 'all' || event.extendedProps.vehicle === selectedVehicle) {
- eventEl.style.display = 'block';
- eventEl.style.visibility = 'visible';
+ // Show event
+ eventEl.setProp('display', 'auto');
} else {
- eventEl.style.display = 'none';
- eventEl.style.visibility = 'hidden';
+ // Hide event
+ eventEl.setProp('display', 'none');
}
}
});
updateReservationsList();
}
- // Update vehicle filter buttons to show active state
- document.querySelectorAll('.vehicle-filter-btn').forEach(btn => {
- btn.addEventListener('click', function() {
- // Update active state
- document.querySelectorAll('.vehicle-filter-btn').forEach(b => {
- b.classList.remove('active');
- b.querySelector('.vehicle-badge').classList.remove('ring-2', 'ring-brand-blue');
- });
-
- this.classList.add('active');
- this.querySelector('.vehicle-badge').classList.add('ring-2', 'ring-brand-blue');
-
- // Update selected vehicle and filter
- selectedVehicle = this.dataset.vehicle;
- filterEvents();
- });
- });
+ // Update eventDidMount to not handle filtering
+ // (eventDidMount is already defined in calendarConfig above)
// Fix reservation form show function
function showReservationForm(date) {