piccoli fix
This commit is contained in:
@@ -7,6 +7,7 @@ let currentUser = null;
|
||||
let offices = [];
|
||||
|
||||
document.addEventListener('DOMContentLoaded', async () => {
|
||||
populateTimeSelects();
|
||||
currentUser = await api.requireAuth();
|
||||
if (!currentUser) return;
|
||||
|
||||
@@ -17,7 +18,6 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
|
||||
await loadOffices();
|
||||
setupEventListeners();
|
||||
populateTimeSelects();
|
||||
});
|
||||
|
||||
function populateTimeSelects() {
|
||||
@@ -48,7 +48,7 @@ function populateTimeSelects() {
|
||||
}
|
||||
|
||||
async function loadOffices() {
|
||||
const response = await api.getCached('/api/offices', 60);
|
||||
const response = await api.get('/api/offices'); // Force fresh load
|
||||
if (response && response.ok) {
|
||||
offices = await response.json();
|
||||
renderOffices();
|
||||
@@ -98,14 +98,30 @@ async function editOffice(officeId) {
|
||||
document.getElementById('officeName').value = office.name;
|
||||
document.getElementById('officeQuota').value = office.parking_quota;
|
||||
|
||||
// Set booking window settings
|
||||
document.getElementById('officeWindowEnabled').checked = office.booking_window_enabled !== false;
|
||||
// Set assignment mode mapping
|
||||
const modeSelect = document.getElementById('assignmentModeSelect');
|
||||
if (office.booking_window_enabled === false) {
|
||||
modeSelect.value = 'realtime';
|
||||
} else {
|
||||
modeSelect.value = office.assignment_mode || 'random';
|
||||
}
|
||||
|
||||
// Set cutoff time
|
||||
document.getElementById('officeCutoffHour').value = office.booking_window_end_hour != null ? office.booking_window_end_hour : 18;
|
||||
document.getElementById('officeCutoffMinute').value = office.booking_window_end_minute != null ? office.booking_window_end_minute : 0;
|
||||
|
||||
updateCutoffVisibility();
|
||||
openModal('Modifica Gruppo');
|
||||
}
|
||||
|
||||
function updateCutoffVisibility() {
|
||||
const mode = document.getElementById('assignmentModeSelect').value;
|
||||
const group = document.getElementById('cutoffGroup');
|
||||
if (group) {
|
||||
group.style.display = (mode === 'realtime') ? 'none' : 'block';
|
||||
}
|
||||
}
|
||||
|
||||
async function deleteOffice(officeId) {
|
||||
const office = offices.find(o => o.id === officeId);
|
||||
if (!office) return;
|
||||
@@ -143,6 +159,9 @@ function setupEventListeners() {
|
||||
// Form submit
|
||||
const form = document.getElementById('officeForm');
|
||||
form.addEventListener('submit', handleOfficeSubmit);
|
||||
|
||||
// Assignment mode change
|
||||
document.getElementById('assignmentModeSelect').addEventListener('change', updateCutoffVisibility);
|
||||
}
|
||||
|
||||
async function handleOfficeSubmit(e) {
|
||||
@@ -155,12 +174,15 @@ async function handleOfficeSubmit(e) {
|
||||
saveBtn.innerHTML = 'Salvataggio...';
|
||||
|
||||
const officeId = document.getElementById('officeId').value;
|
||||
const mode = document.getElementById('assignmentModeSelect').value;
|
||||
|
||||
const data = {
|
||||
name: document.getElementById('officeName').value,
|
||||
parking_quota: parseInt(document.getElementById('officeQuota').value) || 0,
|
||||
booking_window_enabled: document.getElementById('officeWindowEnabled').checked,
|
||||
booking_window_enabled: mode !== 'realtime',
|
||||
booking_window_end_hour: parseInt(document.getElementById('officeCutoffHour').value),
|
||||
booking_window_end_minute: parseInt(document.getElementById('officeCutoffMinute').value)
|
||||
booking_window_end_minute: parseInt(document.getElementById('officeCutoffMinute').value),
|
||||
assignment_mode: mode === 'realtime' ? 'random' : mode
|
||||
};
|
||||
|
||||
console.log('Payload:', data);
|
||||
|
||||
Reference in New Issue
Block a user