This commit is contained in:
chris 2025-08-02 08:32:22 -04:00
parent 6e898d60ae
commit ff1fe0ff92
2 changed files with 37 additions and 0 deletions

View File

@ -272,6 +272,13 @@
// --- Initializer ---
signOutBtn.addEventListener('click', () => handleSignOut());
document.addEventListener('visibilitychange', () => {
if (document.visibilityState === 'visible') {
console.log("Tab is visible, refreshing UI.");
updateUI();
}
});
updateUI();
</script>

View File

@ -202,7 +202,37 @@ function setupRoutes() {
res.status(500).json({ message: "Server error during cleanup." });
}
});
app.get('/api/admin/logs', authenticateToken, requireRole('admin'), async (req, res) => {
try {
const rows = await db.all("SELECT * FROM time_entries ORDER BY punch_in_time DESC");
res.json(rows);
} catch {
res.status(500).json({ message: "Server error fetching logs." });
}
});
// THIS IS THE NEW/FIXED ROUTE
app.put('/api/admin/logs/:id', authenticateToken, requireRole('admin'), async (req, res) => {
try {
const { id } = req.params;
const { punch_in_time, punch_out_time } = req.body;
// **THE FIX IS HERE**
// Determine the correct status based on the punch_out_time.
const status = punch_out_time ? 'out' : 'in';
await db.run(
`UPDATE time_entries
SET punch_in_time = ?, punch_out_time = ?, status = ?
WHERE id = ?`,
[punch_in_time, punch_out_time, status, id]
);
res.json({ message: 'Entry updated successfully.' });
} catch (err) {
console.error("Error updating log:", err);
res.status(500).json({ message: 'Failed to update entry.' });
}
});
// Other admin routes (logs, users, roles, etc.) stay the same...
}