Fix scan output file paths and improve notification system

- Save JSON/HTML/ZIP paths to database when scans complete
- Remove orphaned scan-config-id reference causing JS errors
- Add showAlert function to scan_detail.html and scans.html
- Increase notification z-index to 9999 for modal visibility
- Replace inline alert creation with consistent toast notifications
This commit is contained in:
2025-11-20 08:41:02 -06:00
parent 73d04cae5e
commit 7437716613
5 changed files with 58 additions and 24 deletions

View File

@@ -162,6 +162,25 @@
let scanData = null;
let historyChart = null; // Store chart instance to prevent duplicates
// Show alert notification
function showAlert(type, message) {
const container = document.getElementById('notification-container');
const notification = document.createElement('div');
notification.className = `alert alert-${type} alert-dismissible fade show mb-2`;
notification.innerHTML = `
${message}
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
`;
container.appendChild(notification);
// Auto-dismiss after 5 seconds
setTimeout(() => {
notification.remove();
}, 5000);
}
// Load scan on page load
document.addEventListener('DOMContentLoaded', function() {
loadScan().then(() => {
@@ -218,7 +237,6 @@
document.getElementById('scan-timestamp').textContent = new Date(scan.timestamp).toLocaleString();
document.getElementById('scan-duration').textContent = scan.duration ? `${scan.duration.toFixed(1)}s` : '-';
document.getElementById('scan-triggered-by').textContent = scan.triggered_by || 'manual';
document.getElementById('scan-config-id').textContent = scan.config_id || '-';
// Status badge
let statusBadge = '';
@@ -439,7 +457,7 @@
window.location.href = '{{ url_for("main.scans") }}';
} catch (error) {
console.error('Error deleting scan:', error);
alert(`Failed to delete scan: ${error.message}`);
showAlert('danger', `Failed to delete scan: ${error.message}`);
// Re-enable button on error
deleteBtn.disabled = false;