Posta configurabile dall'app, contatti dei proclamatori, conferma email
- Server di posta in Impostazioni (password cifrata, email di prova): se compilato prende il posto del .env; non si esporta e l'import XML non lo cancella. MAIL_SCHEME=tls nel .env.example non era valido per Laravel 11. - Proclamatori con email e telefono facoltativi, cifrati, nell'XML e cancellati dall'anonimizzazione; il numero apre WhatsApp. - Dopo l'assegnazione un riquadro in evidenza con il link del PDF, "Invia su WhatsApp" con il messaggio pronto e la scelta "inviato / non ancora", che resta finché non si sceglie. - Conferma dell'email obbligatoria per tutti gli utenti, anche esistenti: email in italiano, link valido senza login, nuova conferma a ogni cambio di indirizzo, "Reinvia conferma" in Utenti. Senza conferma restano raggiungibili profilo, cambio password e, per l'admin, il server di posta; comando utenti:conferma-email per l'emergenza. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
39
HANDOFF.md
39
HANDOFF.md
@@ -90,6 +90,45 @@ Commit su `dev`, **nessuno pubblicato** (il push fa partire il deploy sulla demo
|
||||
Produzione: al 12/10/2026 non esiste ancora (il sito gira in Docker sul PC di
|
||||
sviluppo, più la demo da `dev`). Nessuna correzione una tantum da fare.
|
||||
|
||||
### Posta, contatti dei proclamatori, conferma email (12-13 ottobre 2026)
|
||||
|
||||
Richieste dell'utente, con le sue scelte:
|
||||
|
||||
- **Server di posta dall'app** (Impostazioni → Server di posta, rotta
|
||||
`posta.edit`, `Settings\PostaElettronica`): host, porta, cifratura
|
||||
(automatica / SSL / nessuna), utente, password cifrata, mittente; pulsante
|
||||
"Invia email di prova". Se compilato prende il posto del `.env`
|
||||
(`ConfigurazionePosta::applica()`, agganciata alla creazione del mail
|
||||
manager e a ogni job della coda). Non si esporta nell'XML e l'import non la
|
||||
cancella (`Setting::CAMPI_POSTA`). Nel `.env.example` `MAIL_SCHEME=tls` era
|
||||
un valore non valido per Laravel 11: ora vuoto.
|
||||
- **Proclamatori: email e telefono facoltativi**, cifrati come nome e cognome,
|
||||
nell'export/import XML, cancellati dall'anonimizzazione. Il numero apre
|
||||
WhatsApp (`<x-whatsapp>`, `Proclamatore::whatsappUrl()`: senza prefisso si
|
||||
considera italiano).
|
||||
- **Dopo l'assegnazione** si resta sulla pagina Assegna: in cima un riquadro
|
||||
per ogni assegnazione appena fatta con il link del PDF, "Invia su WhatsApp"
|
||||
(messaggio già scritto con il link) e la scelta "Sì, inviato / Non ancora",
|
||||
che imposta `link_sent`. Resta finché non si sceglie
|
||||
(`Assegna::DA_INVIARE` in sessione).
|
||||
- **Conferma email obbligatoria** per tutti gli utenti, anche quelli già
|
||||
esistenti (la migrazione `2026_10_13_000010` azzera `email_verified_at`).
|
||||
L'admin crea l'utente con la password come prima; parte l'email di conferma
|
||||
(in italiano, `VerifyEmail::toMailUsing`); il link funziona anche senza
|
||||
login. Cambiare email (profilo o admin) la rende da confermare e rimanda il
|
||||
link. In Utenti: stato "da confermare" e "Reinvia conferma".
|
||||
Raggiungibili senza conferma: profilo, cambio password, pagina di conferma
|
||||
e — per l'amministratore — il server di posta.
|
||||
Emergenza: `php artisan utenti:conferma-email <email>`. Il primo admin
|
||||
creato da riga di comando nasce confermato.
|
||||
- Nei test gli utenti nascono confermati (`tests/TestCase.php`,
|
||||
`$confermaUtentiCreati`).
|
||||
|
||||
Provato nel browser in locale con mailpit come server configurato dall'app:
|
||||
email di prova e di conferma arrivate, link aperto senza login, account
|
||||
sbloccato; riquadro dopo l'assegnazione con WhatsApp e scelta. Configurazione
|
||||
e dati di prova rimossi dopo.
|
||||
|
||||
### Revisione profonda: blocchi 2 e 3 chiusi
|
||||
|
||||
| Problema | Correzione |
|
||||
|
||||
Reference in New Issue
Block a user