[FIX] ARIA polish post #439/#440: help Inventario allineato + regola anti-invenzione

Completa i 2 punti rimandati dal supervisore:
- help.js sezione Inventario: documentate le nuove funzioni che il supervisore ha
  aggiunto (commit 9c36604) → "Mappa Dipendenze" con il campo Dipendenze per popolarla;
  "Elimina bene" (cestino, org_admin) distinto dallo stato "dismesso".
- AIService::navigationMapBlock: 2 regole nuove → (5) NON citare nomi file .html/URL
  interni; (6) NON inventare pulsanti/funzioni/passi inesistenti, usare solo le funzioni
  della guida/contesto della pagina. Elimina l'allucinazione "rischi.html" e simili.
Smoke: ARIA cita Elimina + Mappa Dipendenze, zero nomi-file, "Gestione > Rischi".
Cache-buster help.js -> 20260625a. php-fpm reload.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-06-25 08:56:25 +02:00
co-authored by Claude Opus 4.8
parent 9c36604b2b
commit b33e0d051e
31 changed files with 36 additions and 32 deletions
+1 -1
View File
@@ -1095,7 +1095,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="js/i18n.js?v=20260631"></script>
<script src="js/help.js?v=20260624e"></script>
<script src="js/help.js?v=20260625a"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();
+1 -1
View File
@@ -167,7 +167,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -375,7 +375,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -156,7 +156,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/*
+1 -1
View File
@@ -356,7 +356,7 @@
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
<script src="js/common-bi.js?v=20260624f"></script>
<script src="js/i18n.js?v=20260631"></script>
<script src="js/help.js?v=20260624e"></script>
<script src="js/help.js?v=20260625a"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -188,7 +188,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script src="/js/competenze.js?v=20260617"></script>
</body>
</html>
+1 -1
View File
@@ -141,7 +141,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/* Controlli periodici (control monitoring §9.1/A.8.16): controlli ricorrenti + esecuzioni (evidenza) + NC/AC. */
+1 -1
View File
@@ -156,7 +156,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -1154,7 +1154,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// La guida è accessibile anche da non autenticati (utile per onboarding)
// ma se sei loggato carichi sidebar + i18n normalmente. Stessa logica
+1 -1
View File
@@ -364,7 +364,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -144,7 +144,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/*
+1 -1
View File
@@ -197,7 +197,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script src="/js/isms.js?v=20260620b"></script>
</body>
</html>
+4 -2
View File
@@ -928,7 +928,8 @@ const HelpSystem = (function () {
{
heading: 'Mappa delle Dipendenze',
items: [
'La <strong>Mappa Dipendenze</strong> visualizza le relazioni tra i beni.',
'Il pulsante <strong>Mappa Dipendenze</strong> visualizza le relazioni tra i beni (quali beni dipendono da quali).',
'Per popolarla, in <strong>modifica del bene</strong> usa il campo <strong>Dipendenze</strong> e seleziona i beni da cui quel bene dipende; nel dettaglio le dipendenze sono mostrate per nome.',
'Identifica le dipendenze critiche e i singoli punti di guasto (SPOF).',
'Utile per la valutazione dell\'impatto in caso di incidente o indisponibilita\'.'
]
@@ -938,7 +939,8 @@ const HelpSystem = (function () {
items: [
'Tracciamento dello stato del bene: attivo, in manutenzione, dismesso.',
'Registrazione di proprietario, ubicazione, fornitore e contratti di supporto.',
'Alert automatici per beni con supporto in scadenza o fine vita.'
'Alert automatici per beni con supporto in scadenza o fine vita.',
'Per <strong>rimuovere</strong> un bene non piu\' pertinente usa il pulsante <strong>Elimina</strong> (icona cestino, in lista o nel dettaglio del bene): l\'operazione richiede il ruolo org_admin. Da non confondere con lo stato "dismesso", che mantiene lo storico del bene.'
]
},
{
+1 -1
View File
@@ -163,7 +163,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script src="/js/kb.js"></script>
<script>
// Gate auth + chrome come le altre pagine -bi.
+1 -1
View File
@@ -131,7 +131,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/*
+1 -1
View File
@@ -172,7 +172,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/*
+1 -1
View File
@@ -125,7 +125,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();
+1 -1
View File
@@ -143,7 +143,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script src="/js/organigramma.js?v=20260617"></script>
</body>
</html>
+1 -1
View File
@@ -346,7 +346,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -136,7 +136,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script src="/js/raci.js?v=20260619"></script>
</body>
</html>
+1 -1
View File
@@ -456,7 +456,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -146,7 +146,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/*
+1 -1
View File
@@ -507,7 +507,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -701,7 +701,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -199,7 +199,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/*
+1 -1
View File
@@ -196,7 +196,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
'use strict';
/*
+1 -1
View File
@@ -490,7 +490,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260621sp"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -305,7 +305,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -220,7 +220,7 @@
</script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="/js/i18n.js?v=20260631"></script>
<script src="/js/help.js?v=20260624e"></script>
<script src="/js/help.js?v=20260625a"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();
+1 -1
View File
@@ -326,7 +326,7 @@
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script src="/js/common-bi.js?v=20260624f"></script>
<script src="js/i18n.js?v=20260631"></script>
<script src="js/help.js?v=20260624e"></script>
<script src="js/help.js?v=20260625a"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();