[FEAT] #384 p.2.2/3 fondazione — modello relazionale REQUISITO<->POLICY (mig.059)

Migrazione 059 additiva/idempotente/reversibile:
- policies.proc_code VARCHAR(16) NULL: ripristina la chiave di join verso il
  catalogo canonico (cfg_nis2_procedure/cfg_nis2_requisiti), che andava persa
  quando le 42 procedure di default venivano copiate nell'elenco Policy (mig.048).
- tabella requisito_policy: M:N org-scoped requisito<->policy (un requisito puo'
  avere piu' policy e una policy piu' requisiti) — base per p.2.2 e p.3.
- backfill sicuro: proc_code valorizzato su 42 policy (match esatto titolo) +
  116 associazioni di default popolate (INSERT IGNORE, WHERE proc_code IS NULL).
- PolicyController::ensureFrameworkProcedures: i nuovi seed conservano proc_code
  e popolano requisito_policy (try/catch dedicato, non blocca il seed).

Nessun impatto utente in questo passo (nessuna superficie legge ancora i nuovi
campi). UI multi-valore + link bidirezionali (2.2/3) nei prossimi cicli. v1.23.6.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-06-18 19:12:07 +02:00
co-authored by Claude Opus 4.8
parent 8a8045904b
commit 02f3e69227
4 changed files with 190 additions and 2 deletions
+1 -1
View File
@@ -1 +1 @@
{"version": "1.23.5", "build": "2026-06-18-v1.23.5", "date": "2026-06-18", "changelog": "Ticket #384 punto 5 (allegati Policy): nel dettaglio di ogni Policy ora c'e' la sezione 'Allegati' per caricare documenti di supporto (PDF, immagini, Office, txt, csv, zip; max 10 MB), elencarli con autore/data e scaricarli. Hardening sicurezza: aggiunta allowlist server-side delle estensioni sull'endpoint di upload evidenze (rifiuto html/svg/js, anti stored-XSS same-origin). Restano in lavorazione a fasi: unificazione archivi M:N requisito<->policy (punto 2.2), link attivi bidirezionali tra i due menu (punto 3), matrice RACI assegnabile per policy con R e A obbligatorie in approvazione (punto 6)."}
{"version": "1.23.6", "build": "2026-06-18-v1.23.6", "date": "2026-06-18", "changelog": "Ticket #384 punto 2.2/3 (fondazione dati): introdotto il modello relazionale REQUISITO<->POLICY (migrazione 059, additiva/reversibile). Ripristinata sulla riga policy la chiave 'proc_code' (persa quando le procedure di default venivano copiate nell'elenco Policy) e creata la tabella requisito_policy per il legame molti-a-molti org-scoped (un requisito puo' avere piu' policy e una policy piu' requisiti). Backfill sicuro: valorizzato proc_code su 42 policy e popolate 116 associazioni di default esistenti. Nessun impatto visibile per l'utente in questo passo: e' la base dati su cui poggeranno l'unificazione multi-valore delle colonne (2.2) e i link attivi bidirezionali tra i due menu (3). Restano in lavorazione a fasi: UI multi-valore + link bidirezionali (2.2/3) e matrice RACI assegnabile per policy con R e A obbligatorie in approvazione (punto 6)."}