mirror of
https://github.com/Dvorinka/PPve.git
synced 2026-06-03 20:12:59 +00:00
test ad
This commit is contained in:
+31
-23
@@ -4629,18 +4629,22 @@ async function deleteReservation(id) {
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(`/api/delete-reservation`, {
|
||||
method: 'POST',
|
||||
const token = localStorage.getItem('token');
|
||||
if (!token) {
|
||||
window.location.href = '/login.html';
|
||||
return;
|
||||
}
|
||||
|
||||
const response = await fetch(`/api/reservations/${id}`, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify({ id: id })
|
||||
'Authorization': `Bearer ${token}`,
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(result.error || 'Nepodařilo se smazat rezervaci');
|
||||
throw new Error('Nepodařilo se smazat rezervaci');
|
||||
}
|
||||
|
||||
// Remove the reservation from the local array and update the display
|
||||
@@ -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();
|
||||
});
|
||||
</script>
|
||||
|
||||
+7
-33
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user