Commit Graph

9 Commits

Author SHA1 Message Date
DevEnv nis2-agile
b7f361b87c [FEAT] Supply chain UI: i18n sp.* IT/EN + import mostra errors[] dettaglio righe scartate
- public/js/i18n.js: +38 chiavi sp.* (IT+EN) per pulsanti header, categorie, template, import.
- supply-chain.html: data-i18n sui 4 pulsanti header; l'import CSV ora mostra il
  dettaglio delle righe scartate (d.errors[] dal backend) in un <details> e tiene
  aperta la modale se ci sono errori (prima si chiudeva sempre, errori invisibili).
- version 1.10.1.

Inline JS validato (node --check). File statici -> live via nginx.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 14:37:22 +02:00
DevEnv nis2-agile
ce0387ed4f [FEAT] Supply chain UI: dropdown categoria + gestione categorie + vista template GV.SC
Colma il gap UI confermato dalla review (backend Fase 1 c'era, UI no):
- Form fornitore: dropdown "Categoria fornitore" alimentato da getSupplierCategories
  (ensureCategories con cache); category_id ora salvato (backend gia' fixato 9fbf72a).
- Pulsante "Categorie": modale con lista preset+custom, CRUD sulle custom
  (preset non modificabili), gestione errore CATEGORY_IN_USE.
- Pulsante "Template": modale lista template + vista dettaglio domande read-only
  con badge nis2_ref/tipo/peso/obbligatoria — mostra le 26 domande GV.SC del DB.
- Target modale via querySelector('#app-modal .modal-body') (showModal usa class).

Inline JS validato (node --check exit 0). File statici -> live via nginx. version 1.10.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 14:30:20 +02:00
DevEnv nis2-agile
03da28920d [FIX] Fase 1 UI: completa import fornitori + client API + help (edit precedenti falliti)
Tre Edit dei commit f85876f/73f47df erano falliti silenziosamente (string-not-found)
e committati come fatti: questo li applica davvero.

- public/js/api.js: 14 metodi client Fase 1 (categorie/template/domande/import).
  Usano this.del() (il metodo base e' del(), non delete()).
- public/supply-chain.html: pulsante "Importa" in header + openImportModal()/parseCsv()/
  runSupplierImport() reali (prima era stub). Modale CSV con upsert per external_ref.
- public/js/help.js: sezioni "Importazione fornitori (CSV/API)" e "Categorie e questionari
  configurabili" + riferimento ACN Allegato 2 GV.SC. Nota interpretativa esplicita sul
  perimetro fornitori critici (scelta documentata dell'organizzazione).

Seed template NIS2 base (26 domande) ora applicato DAVVERO su org 129 via host DB
(il commit 8d7a50a era fallito: il CLI docker punta a nis2-db, il web/host usa host MySQL;
risolto errore collation utf8mb4 con COLLATE esplicito). Idempotenza verificata.

Inline JS validato (node --check). api.js/help.js validati.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 11:04:22 +02:00
DevEnv nis2-agile
d11603a69d [DOCS] guida: fix ⚠️ review (cap-7 un mese/dies-a-quo/Nuovo Incidente, cap-5 maturita 0-5, cap-6 aggiornamento=buona pratica non art., cap-13 whistleblowing art.12+D.Lgs.24/2023) + 2o bottone questionario fornitore (dettaglio)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 08:20:19 +02:00
DevEnv nis2-agile
5ff58aeceb [FEAT] Supply chain: bottone 'Invia questionario' al fornitore (finding review CISO 🔴C)
Il backend sendQuestionnaire/questionnaire-status esisteva ma la UI non lo esponeva (guida prometteva una funzione non azionabile). Aggiunti:
- bottone 'Invia questionario' in lista (azioni) e in dettaglio fornitore
- funzione sendSupplierQuestionnaire (chiede email opzionale, mostra il link sq_ generato)
- api.js: sendSupplierQuestionnaire + getSupplierQuestionnaireStatus
Distinto 'Valuta (interna)' da 'Invia questionario' (link esterno). E2E prod: 201 + link generato.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 08:17:05 +02:00
DevEnv nis2-agile
0e78ec24c1 [FIX] i18n funzionante + bug audit.html + help system
- common.js: aggiunto i18nKey a navItems, data-i18n su sezioni e voci
  sidebar → toggle IT/EN ora traduce la navigazione in tempo reale
- Tutte e 10 le pagine HTML: aggiunto data-i18n="*.title" agli h2
  (dashboard, assessment, risks, incidents, policies, supply-chain,
  training, assets, reports, settings)
- FIX BUG: sidebar puntava ad audit.html (inesistente) → corretto
  in reports.html
- HelpSystem: funziona correttamente in tutte le 10 pagine
  (content-header-actions presente, init() chiamato)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 11:17:04 +01:00
DevEnv nis2-agile
ba21534e6a [DEPLOY] Migrazione a subdomain nis2.certisource.it
Rimozione prefisso /nis2/ da tutti i path frontend e router:
- index.php: basePath '' (da '/nis2')
- api.js: baseUrl '/api' (da '/nis2/api')
- Tutti i file HTML: path assoluti senza prefisso /nis2/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 14:05:18 +01:00
52fd45fac9 [FEAT] i18n IT/EN, Help Online contestuale, pagina Architettura
- i18n.js: sistema traduzioni IT/EN con ~150 chiavi, localStorage, data-i18n
- help.js: help contestuale per 10 pagine con riferimenti NIS2
- architecture.html: descrizione architettura sistema completa
- common.js: language toggle sidebar (IT/EN), link Architettura, icone
- Integrato i18n + help in tutte le 14 pagine app + 3 admin

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:34:37 +01:00
73e78ea6b4 [FEAT] Add all frontend pages - complete UI for NIS2 platform
- risks.html: Risk register with 5x5 matrix heatmap, treatments, AI suggest
- incidents.html: Incident management with NIS2 Art.23 timeline (24h/72h/30d)
- policies.html: Policy management with templates, approval workflow, AI generate
- supply-chain.html: Supplier registry with 10-question security assessment
- training.html: Courses, assignments, compliance status tracking
- assets.html: Asset inventory with dependency mapping
- reports.html: Compliance report, controls, audit log, ISO 27001 mapping
- settings.html: Organization, profile, members, security settings
- admin/index.html: Platform admin dashboard with stats
- admin/organizations.html: Organization management for super_admin
- admin/users.html: User management for super_admin

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 18:46:03 +01:00