[FIX] Allineamento normativo segnalazioni Fattori (A1+A3): citazioni obblighi -> D.Lgs.138/2024 art.23/24/25 (non Direttiva) + terminologia Asset -> Inventario
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
d50955d95a
commit
121b8c2003
@@ -71,8 +71,8 @@
|
||||
|
||||
<!-- Stessa logica della app: api.js + common.js (helper) + common-bi.js (override BI) -->
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common-bi.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script src="js/common-bi.js?v=20260615"></script>
|
||||
<script>
|
||||
// Renderizza la sidebar BI (loadSidebar è stato ridefinito da common-bi.js)
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -163,8 +163,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
+3
-3
@@ -153,7 +153,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -163,8 +163,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
@@ -318,7 +318,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -328,8 +328,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -318,7 +318,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -328,8 +328,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
</div>
|
||||
|
||||
<script src="../js/api.js?v=20260613"></script>
|
||||
<script src="../js/common.js?v=20260613d"></script>
|
||||
<script src="../js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -158,8 +158,8 @@
|
||||
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="../js/common-bi.js?v=20260613"></script>
|
||||
<script src="../js/i18n.js?v=20260613"></script>
|
||||
<script src="../js/common-bi.js?v=20260615"></script>
|
||||
<script src="../js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
</div>
|
||||
|
||||
<script src="../js/api.js?v=20260613"></script>
|
||||
<script src="../js/common.js?v=20260613d"></script>
|
||||
<script src="../js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -158,8 +158,8 @@
|
||||
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="../js/common-bi.js?v=20260613"></script>
|
||||
<script src="../js/i18n.js?v=20260613"></script>
|
||||
<script src="../js/common-bi.js?v=20260615"></script>
|
||||
<script src="../js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
</div>
|
||||
|
||||
<script src="../js/api.js?v=20260613"></script>
|
||||
<script src="../js/common.js?v=20260613d"></script>
|
||||
<script src="../js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -180,8 +180,8 @@
|
||||
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="../js/common-bi.js?v=20260613"></script>
|
||||
<script src="../js/i18n.js?v=20260613"></script>
|
||||
<script src="../js/common-bi.js?v=20260615"></script>
|
||||
<script src="../js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
</div>
|
||||
|
||||
<script src="../js/api.js?v=20260613"></script>
|
||||
<script src="../js/common.js?v=20260613d"></script>
|
||||
<script src="../js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -180,8 +180,8 @@
|
||||
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="../js/common-bi.js?v=20260613"></script>
|
||||
<script src="../js/i18n.js?v=20260613"></script>
|
||||
<script src="../js/common-bi.js?v=20260615"></script>
|
||||
<script src="../js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -1089,8 +1089,8 @@
|
||||
</div>
|
||||
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/i18n.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script src="js/i18n.js?v=20260615"></script>
|
||||
<script src="js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -165,8 +165,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -165,8 +165,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||
<title>Inventario Asset (BI) - NIS2 Agile</title>
|
||||
<title>Inventario - NIS2 Agile</title>
|
||||
<!-- Bootstrap Italia v2.18.1 self-hostato (regola: MAI CDN). Caricato PRIMA di style.css
|
||||
cosi' style.css (design system esistente) resta autorevole per i widget renderizzati
|
||||
via JS (tabelle/modali/form) -> parita' funzionale assoluta. BI veste la chrome. -->
|
||||
@@ -278,7 +278,7 @@
|
||||
|
||||
<main class="main-content">
|
||||
<header class="content-header">
|
||||
<h1 class="h2" data-i18n="assets.title">Inventario Asset</h1>
|
||||
<h1 class="h2" data-i18n="assets.title">Inventario</h1>
|
||||
<div class="content-header-actions">
|
||||
<span class="text-muted" style="font-size:0.8rem; margin-right:8px;">Art. 21.2.i NIS2</span>
|
||||
<button class="btn btn-secondary" onclick="openImportModal()" title="Importa asset da CSV/CMDB">Importa</button>
|
||||
@@ -314,7 +314,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<div class="asset-stat-value" id="stat-critical">--</div>
|
||||
<div class="asset-stat-label">Asset Critici</div>
|
||||
<div class="asset-stat-label">Beni critici</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="asset-stat-card">
|
||||
@@ -367,7 +367,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -377,8 +377,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
+6
-6
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||
<title>Inventario Asset - NIS2 Agile</title>
|
||||
<title>Inventario - NIS2 Agile</title>
|
||||
<!-- Bootstrap Italia v2.18.1 self-hostato (regola: MAI CDN). Caricato PRIMA di style.css
|
||||
cosi' style.css (design system esistente) resta autorevole per i widget renderizzati
|
||||
via JS (tabelle/modali/form) -> parita' funzionale assoluta. BI veste la chrome. -->
|
||||
@@ -278,7 +278,7 @@
|
||||
|
||||
<main class="main-content">
|
||||
<header class="content-header">
|
||||
<h1 class="h2" data-i18n="assets.title">Inventario Asset</h1>
|
||||
<h1 class="h2" data-i18n="assets.title">Inventario</h1>
|
||||
<div class="content-header-actions">
|
||||
<span class="text-muted" style="font-size:0.8rem; margin-right:8px;">Art. 21.2.i NIS2</span>
|
||||
<button class="btn btn-secondary" onclick="openImportModal()" title="Importa asset da CSV/CMDB">Importa</button>
|
||||
@@ -314,7 +314,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<div class="asset-stat-value" id="stat-critical">--</div>
|
||||
<div class="asset-stat-label">Asset Critici</div>
|
||||
<div class="asset-stat-label">Beni critici</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="asset-stat-card">
|
||||
@@ -367,7 +367,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -377,8 +377,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
@@ -350,12 +350,12 @@
|
||||
</div>
|
||||
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) -->
|
||||
<script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
|
||||
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
|
||||
<script src="js/common-bi.js?v=20260613"></script>
|
||||
<script src="js/i18n.js?v=20260613"></script>
|
||||
<script src="js/common-bi.js?v=20260615"></script>
|
||||
<script src="js/i18n.js?v=20260615"></script>
|
||||
<script src="js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -350,12 +350,12 @@
|
||||
</div>
|
||||
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) -->
|
||||
<script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
|
||||
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
|
||||
<script src="js/common-bi.js?v=20260613"></script>
|
||||
<script src="js/i18n.js?v=20260613"></script>
|
||||
<script src="js/common-bi.js?v=20260615"></script>
|
||||
<script src="js/i18n.js?v=20260615"></script>
|
||||
<script src="js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -393,8 +393,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
const SPRITE = '/vendor/bootstrap-italia/dist/svg/sprites.svg';
|
||||
function ico(name, cls) { return `<svg class="ico ${cls||''}" aria-hidden="true"><use href="${SPRITE}#${name}"></use></svg>`; }
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -393,8 +393,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
const SPRITE = '/vendor/bootstrap-italia/dist/svg/sprites.svg';
|
||||
function ico(name, cls) { return `<svg class="ico ${cls||''}" aria-hidden="true"><use href="${SPRITE}#${name}"></use></svg>`; }
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -154,8 +154,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -154,8 +154,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
|
||||
@@ -1143,7 +1143,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
|
||||
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
|
||||
@@ -1152,8 +1152,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// La guida è accessibile anche da non autenticati (utile per onboarding)
|
||||
|
||||
+3
-3
@@ -1143,7 +1143,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
|
||||
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
|
||||
@@ -1152,8 +1152,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// La guida è accessibile anche da non autenticati (utile per onboarding)
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -362,8 +362,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ──────────────────────────────────────────────
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -362,8 +362,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ──────────────────────────────────────────────
|
||||
|
||||
@@ -910,8 +910,8 @@ curl -H <span class="str">"X-API-Key: nis2_TUA_CHIAVE"</span> \
|
||||
|
||||
</main>
|
||||
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/i18n.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script src="js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
function showTab(id) {
|
||||
document.querySelectorAll('.tab-btn').forEach((b, i) => {
|
||||
|
||||
+3
-3
@@ -185,7 +185,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -195,8 +195,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script src="/js/isms.js"></script>
|
||||
</body>
|
||||
|
||||
+3
-3
@@ -185,7 +185,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -195,8 +195,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script src="/js/isms.js"></script>
|
||||
</body>
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
label: 'Operativo', i18nKey: 'nav.operations',
|
||||
items: [
|
||||
{ name: 'Formazione', href: 'training.html', icon: iconAcademicCap(), i18nKey: 'nav.training' },
|
||||
{ name: 'Asset', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
|
||||
{ name: 'Inventario', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
|
||||
{ name: 'Audit & Report', href: 'reports.html', icon: iconChartBar(), i18nKey: 'nav.audit' }
|
||||
]
|
||||
},
|
||||
|
||||
+1
-1
@@ -209,7 +209,7 @@ function loadSidebar() {
|
||||
label: 'Operativo', i18nKey: 'nav.operations',
|
||||
items: [
|
||||
{ name: 'Formazione', href: 'training.html', icon: iconAcademicCap(), i18nKey: 'nav.training' },
|
||||
{ name: 'Asset', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
|
||||
{ name: 'Inventario', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
|
||||
{ name: 'Audit & Report',href: 'reports.html', icon: iconChartBar(), i18nKey: 'nav.audit' },
|
||||
]
|
||||
},
|
||||
|
||||
+2
-2
@@ -84,7 +84,7 @@ const I18n = (function () {
|
||||
'nav.supply_chain': { it: 'Supply Chain', en: 'Supply Chain' },
|
||||
'nav.operations': { it: 'Operativo', en: 'Operations' },
|
||||
'nav.training': { it: 'Formazione', en: 'Training' },
|
||||
'nav.assets': { it: 'Asset', en: 'Assets' },
|
||||
'nav.assets': { it: 'Inventario', en: 'Inventory' },
|
||||
'nav.audit': { it: 'Audit & Report', en: 'Audit & Reports' },
|
||||
'nav.system': { it: 'Sistema', en: 'System' },
|
||||
'nav.settings': { it: 'Impostazioni', en: 'Settings' },
|
||||
@@ -169,7 +169,7 @@ const I18n = (function () {
|
||||
'training.overdue': { it: 'Scaduto', en: 'Overdue' },
|
||||
|
||||
// ── Asset ──────────────────────────────────────
|
||||
'assets.title': { it: 'Inventario Asset', en: 'Asset Inventory' },
|
||||
'assets.title': { it: 'Inventario', en: 'Inventory' },
|
||||
'assets.import_btn': { it: 'Importa', en: 'Import' },
|
||||
'assets.new': { it: 'Nuovo Asset', en: 'New Asset' },
|
||||
'assets.dependency_map': { it: 'Mappa Dipendenze', en: 'Dependency Map' },
|
||||
|
||||
+3
-3
@@ -151,7 +151,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). -->
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
|
||||
@@ -161,8 +161,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script src="/js/kb.js"></script>
|
||||
<script>
|
||||
|
||||
+3
-3
@@ -151,7 +151,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). -->
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
|
||||
@@ -161,8 +161,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script src="/js/kb.js"></script>
|
||||
<script>
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
|
||||
<!-- Stessa logica della login attuale: ZERO modifiche backend -->
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script>
|
||||
if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; }
|
||||
|
||||
|
||||
+1
-1
@@ -95,7 +95,7 @@
|
||||
|
||||
<!-- Stessa logica della login attuale: ZERO modifiche backend -->
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script>
|
||||
if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; }
|
||||
|
||||
|
||||
@@ -424,6 +424,6 @@ curl https://nis2.agile.software/api/services/status</pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -123,8 +123,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -123,8 +123,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -438,7 +438,7 @@
|
||||
|
||||
<!-- Stessa logica della onboarding.html: ZERO modifiche backend -->
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ──────────────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -438,7 +438,7 @@
|
||||
|
||||
<!-- Stessa logica della onboarding.html: ZERO modifiche backend -->
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ──────────────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -334,7 +334,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -344,8 +344,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
@@ -334,7 +334,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -344,8 +344,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
|
||||
<!-- Stessa logica della register.html: ZERO modifiche backend -->
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script>
|
||||
if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; }
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
|
||||
<!-- Stessa logica della register.html: ZERO modifiche backend -->
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script>
|
||||
if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; }
|
||||
|
||||
|
||||
@@ -444,7 +444,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -454,8 +454,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
+3
-3
@@ -444,7 +444,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -454,8 +454,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
@@ -495,7 +495,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -505,8 +505,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ──────────────────────────────────────────────
|
||||
|
||||
+3
-3
@@ -495,7 +495,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -505,8 +505,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ──────────────────────────────────────────────
|
||||
|
||||
@@ -673,7 +673,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -683,8 +683,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
|
||||
@@ -673,7 +673,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -683,8 +683,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
</div>
|
||||
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -488,8 +488,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -488,8 +488,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -303,8 +303,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
</div>
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -303,8 +303,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":"1.15.0","build":"2026-06-14-v1.15.0","date":"2026-06-14","changelog":"PWA installabile (Android/iOS): aggiunti manifest.webmanifest, service worker (offline shell, /api network-only, asset stale-while-revalidate), set icone (192/512 + maskable + apple-touch + favicon), tag PWA in tutte le pagine HTML. Conformita AGID/WCAG 2.1 AA: zoom e orientamento non bloccati, touch target >=44px, safe-area in modalita standalone. Nessuna modifica a dati o schema DB."}
|
||||
{"version":"1.15.1","build":"2026-06-15-v1.15.1","date":"2026-06-15","changelog":"Allineamento normativo (segnalazioni Simon Fattori, accolte A1+A3): per gli OBBLIGHI si citano gli articoli del D.Lgs. 138/2024 (governance art.23, gestione del rischio art.24, notifica incidenti art.25) al posto degli articoli della Direttiva (UE) 2022/2555 (ora solo per principi) -> aggiornati AIService (blocco fonti iniettato in ogni prompt AI + classificatore incidenti), gate del supervisore e docblock del controller incidenti. Terminologia UI: 'Asset' -> 'Inventario' (sidebar, titoli, i18n IT/EN). Nessuna modifica a dati o schema DB."}
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
<!-- Report Detail Modal handled by common.js showModal -->
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -218,8 +218,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
<!-- Report Detail Modal handled by common.js showModal -->
|
||||
|
||||
<script src="/js/api.js?v=20260613"></script>
|
||||
<script src="/js/common.js?v=20260613d"></script>
|
||||
<script src="/js/common.js?v=20260615"></script>
|
||||
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
|
||||
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
|
||||
riusando tutti gli helper di common.js (zero backend). -->
|
||||
@@ -218,8 +218,8 @@
|
||||
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
|
||||
}
|
||||
</script>
|
||||
<script src="/js/common-bi.js?v=20260613"></script>
|
||||
<script src="/js/i18n.js?v=20260613"></script>
|
||||
<script src="/js/common-bi.js?v=20260615"></script>
|
||||
<script src="/js/i18n.js?v=20260615"></script>
|
||||
<script src="/js/help.js?v=20260614"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@@ -320,8 +320,8 @@
|
||||
</div>
|
||||
|
||||
<script src="js/api.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260613d"></script>
|
||||
<script src="js/i18n.js?v=20260613"></script>
|
||||
<script src="js/common.js?v=20260615"></script>
|
||||
<script src="js/i18n.js?v=20260615"></script>
|
||||
<script>
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
loadSidebar();
|
||||
|
||||
Reference in New Issue
Block a user