5.2 KiB
5.2 KiB
Contesto Ultima Sessione
Data: 2026-03-10 Durata: sessione lunga (continuazione da sessione precedente)
Cosa abbiamo fatto
1. Fix feedback.js — bottone FAB non visibile
common.js: aggiunto auto-inject difeedback.jssu tutte le pagine autenticatefeedback.js: icona cambiata infa-comment-medical, label testo "Segnala / Feedback"style.css: FAB ridisegnato come pill cyan (#06B6D4) con animazione pulse, stile lg231- Commit:
4143dd3
2. Fix register.html — P.IVA e invite token
- P.IVA: aggiunta validazione locale checksum IVA italiana (cifra di controllo)
- Messaggio: se P.IVA valida → verde "✓ P.IVA valida" anche se CertiSource offline
- Parametro URL: ora legge
?invite=(oltre a?invite_token=e?token=) - Placeholder campo invite aggiornato:
inv_a1b2c3d4e5f6... OnboardingController.php: lookup-piva con CertiSource fallisce → 404 graceful (non 500)- Commit:
d603f35,67560e1
3. Fix utente presidenza@agile.software
- Email già esistente (cristiano.benassati@gmail.com, id=4) bloccava registrazione
- Creato nuovo account:
presidenza@agile.software/ Silvia Garretto / org_admin (id=103) - Password resettata a:
Presidenza2026! - Invite token inv_f25a41... (id=4) ancora pending (non usato — bisogna fare onboarding)
4. FEAT: invite con dati destinatario (pre-compilazione form)
InviteController.php: accettarecipient_first_name/last_name/email/vat, salva inmetadataJSONInviteController.php:show()parsa metadata e esponemetadata_recipientInviteController.php:invite_urlora punta aregister.html?invite=(era onboarding.html)AuthController.phpvalidateInvite: ritornarecipientcon dati del destinatarioregister.html: dopo validazione invite, pre-compila nome/cognome/email/piva dal recipient- Commit:
7bb92b1
5. licenseExt.html — aggiornamento completo
- Aggiunta sezione "Dati destinatario" con campi: Nome, Cognome, Email, P.IVA
generateLicense(): includerecipient_*nel payload APIrenderGenResult(): mostra link pronto da inviare + riga verde con dati destinatarioresetForm(): pulisce anche i campi recipientshowDetail(): mostra box verde con dati destinatario (metadata_recipient)revokeInvite(): già funzionante via DELETE /api/invites/{id}- Commit:
e02e0e2
File modificati in questa sessione
Backend
application/controllers/OnboardingController.php— lookup-piva: 500→404 gracefulapplication/controllers/InviteController.php— recipient data in metadata, invite_url fix, show() con metadata_recipientapplication/controllers/AuthController.php— validateInvite ritorna recipient
Frontend
public/js/common.js— auto-inject feedback.jspublic/js/feedback.js— icona + label pill buttonpublic/css/style.css— FAB cyan pill con pulse animationpublic/register.html— validazione P.IVA locale, ?invite= param, pre-fill da recipientpublic/licenseExt.html— sezione dati destinatario, link pronto, modale aggiornato
Docs
docs/prompts/big-simulation-prompt.md— CREATO: prompt per simulate-nis2-big.php (10 aziende, 18 fasi, ✓200+)
Utenti demo attivi (dopo ultima simulazione)
| Password | Ruolo | Org | |
|---|---|---|---|
| admin@datacore-srl.demo | NIS2Demo2026! | org_admin | DataCore S.r.l. |
| admin@medclinic-spa.demo | NIS2Demo2026! | org_admin | MedClinic Italia S.p.A. |
| admin@enernet-srl.demo | NIS2Demo2026! | org_admin | EnerNet Distribuzione S.r.l. |
| consultant@nis2agile.demo | NIS2Demo2026! | consultant | tutte e 3 |
| presidenza@agile.software | Presidenza2026! | org_admin | nessuna org ancora |
Problemi aperti / TODO
Urgenti
presidenza@agile.software: ha account ma nessuna org → deve fare onboarding su https://nis2.agile.software/onboarding.html- Invite token
inv_f25a41...(id=4, label "Presidenza"): ancora pending, non applicato all'utente
Noti
POST /api/auth/validate-inviteesiste ma non è nel router pubblico (solo via InviteController)- P.IVA lookup (CertiSource
/api/company/enrich) risponde 404 — endpoint cambiato, da investigare - Rate limiter register: 3 tentativi/10min — causa problemi se si riprova velocemente
Content-Type: application/jsonda curl CLI esterno fallisce (body non letto) — solo via PHP curl o browser fetch funziona correttamente
Sprint futuri
simulate-nis2-big.php: da implementare seguendodocs/prompts/big-simulation-prompt.md- RAG su normativa NIS2, benchmark settoriale (Piano Adaptive Sprint 3)
Flusso licenze B2B (aggiornato)
mktg → licenseExt.html → genera licenza con dati destinatario
→ invite_url: register.html?invite=inv_xxx
→ cliente clicca link → form pre-compilato (nome/cognome/email/piva)
→ cliente inserisce password → Crea Account → onboarding
Pannello mktg: https://nis2.agile.software/licenseExt.html (accesso: super_admin)
Prossimi passi consigliati
- Fare onboarding con
presidenza@agile.softwareper testare flusso completo - Implementare
simulate-nis2-big.phpdadocs/prompts/big-simulation-prompt.md - Verificare/correggere endpoint CertiSource per P.IVA lookup
- Aggiungere
POST /api/auth/validate-inviteal router pubblico (è già implementato)