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 657f4784bf
commit e3b647521e
5 changed files with 58 additions and 24 deletions

View File

@@ -308,7 +308,7 @@ class ScanService:
return count
def _save_scan_to_db(self, report: Dict[str, Any], scan_id: int,
status: str = 'completed') -> None:
status: str = 'completed', output_paths: Dict = None) -> None:
"""
Save scan results to database.
@@ -319,6 +319,7 @@ class ScanService:
report: Scan report dictionary from scanner
scan_id: Scan ID to update
status: Final scan status (completed or failed)
output_paths: Dictionary with paths to generated files {'json': Path, 'html': Path, 'zip': Path}
"""
scan = self.db.query(Scan).filter(Scan.id == scan_id).first()
if not scan:
@@ -329,6 +330,15 @@ class ScanService:
scan.duration = report.get('scan_duration')
scan.completed_at = datetime.utcnow()
# Save output file paths
if output_paths:
if 'json' in output_paths:
scan.json_path = str(output_paths['json'])
if 'html' in output_paths:
scan.html_path = str(output_paths['html'])
if 'zip' in output_paths:
scan.zip_path = str(output_paths['zip'])
# Map report data to database models
self._map_report_to_models(report, scan)