++ fix
This commit is contained in:
46
HANDOFF.md
46
HANDOFF.md
@@ -177,9 +177,35 @@ larghezza supera i 640px → torna la tabella normale (per questo landscape "non
|
||||
problemi"). Convenzioni: ogni `<td>` dati ha `data-label="..."`; la cella azioni
|
||||
ha classe `cell-actions` (niente label, occupa la riga a piena larghezza); le
|
||||
celle `colspan` (stato vuoto, form di modifica utente inline) restano `block` a
|
||||
piena larghezza. Applicata a: territori, proclamatori, campagne, registro,
|
||||
utenti, audit-log e i due cestini. La pagina *Assegnazioni* era già ottimizzata e
|
||||
non è stata toccata.
|
||||
piena larghezza. Applicata a tutte le liste e sottopagine con tabelle: territori,
|
||||
proclamatori, campagne, registro, utenti, audit-log, i due cestini, le tabelle
|
||||
"storico assegnazioni" di territorio-show/proclamatore-show, "territori
|
||||
conteggiati" di campagna-show e le due tabelle di esito import in xml-exchange
|
||||
(una a classi Tailwind, una a stili inline — `border:none !important` nella regola
|
||||
gestisce anche i bordi inline). La pagina *Assegnazioni* era già ottimizzata.
|
||||
|
||||
### Scadenza link PDF unificata con la soglia rientro
|
||||
|
||||
La "Validità link PDF (mesi)" è stata rimossa: il link condivisibile ora scade
|
||||
esattamente quando l'assegnazione raggiunge la **soglia rientro**
|
||||
(`giorni_per_smarrito`), cioè `assigned_at + giorni_per_smarrito` — la stessa
|
||||
data di `Assegnazione::data_consegna_presunta` e del chip "Scadenza" nel viewer.
|
||||
`AssignmentPdfController::linkScaduto` e `ShortPdfLinkController` calcolano ora
|
||||
`addDays(giorni_per_smarrito)` invece di `addMonths(ttl)`; la scadenza vale solo
|
||||
per i non autenticati e il link muore comunque al rientro (`is_aperta`). Rimossi
|
||||
il campo Impostazioni e la proprietà `assignment_link_ttl_months` in
|
||||
`SettingsEdit`. **La colonna `assignment_link_ttl_hours` resta nel DB** (niente
|
||||
migration distruttiva): è ormai vestigiale per la logica ma l'export/import XML
|
||||
continua a leggerla/scriverla senza effetti.
|
||||
|
||||
### Ricerca rapida nella lista link (pagina Assegna)
|
||||
|
||||
La sezione "Territori Assegnati" (i link PDF) ha un unico campo che filtra per
|
||||
numero territorio, zona e proclamatore. Il filtro è **in memoria** (proprietà
|
||||
`linkSearch`, collection `assegnazioniAperteVisibili`) perché nome/cognome del
|
||||
proclamatore sono cifrati e non filtrabili via SQL — stesso approccio del
|
||||
Registro. La sezione resta visibile anche a risultato vuoto (mostra "Nessun
|
||||
risultato"), perché l'`@if` esterno guarda la lista non filtrata.
|
||||
|
||||
### Assegnare un territorio ne azzera il flag "prioritario"
|
||||
|
||||
@@ -204,12 +230,14 @@ Tre ritocchi minori ma con qualche implicazione:
|
||||
ogni utente loggato (nel gruppo `auth`, nessun permesso): l'utente corrente può
|
||||
modificare il proprio nome/cognome ed email (`updateProfile`) e cambiare la
|
||||
password (`updatePassword`, con verifica della password attuale via regola
|
||||
`current_password`; il cast `hashed` cifra al salvataggio). Nell'header il
|
||||
blocco utente è un link a questa pagina, con nome in evidenza ed
|
||||
`email · qualifica` sotto. Non esiste un campo "username" né "cognome"
|
||||
separato: `name` è il nome completo (etichettato "Nome e cognome") e l'email fa
|
||||
da identificativo. La qualifica (ruolo) non è modificabile dal profilo — resta
|
||||
in gestione all'admin.
|
||||
`current_password`; il cast `hashed` cifra al salvataggio). Dopo il salvataggio
|
||||
dei dati `updateProfile` fa `redirect(navigate:true)` sulla stessa pagina, così
|
||||
header (nel layout, fuori dal componente) e card mostrano subito i nuovi valori.
|
||||
Il link al profilo è nell'header su desktop e, su mobile, in fondo alla sidebar
|
||||
(`lg:hidden`, dopo un separatore) — sull'header è `hidden sm:flex`. Non esiste
|
||||
un campo "username" né "cognome" separato: `name` è il nome completo
|
||||
(etichettato "Nome e cognome") e l'email fa da identificativo. La qualifica
|
||||
(ruolo) non è modificabile dal profilo — resta in gestione all'admin.
|
||||
- **Viewer PDF pubblico**: oltre a territorio/proclamatore/data mostra ora
|
||||
*giorni assegnato*, *consegna prevista* e *scadenza*. Sono attributi calcolati
|
||||
su `Assegnazione` (`data_consegna_presunta`, `giorni_alla_scadenza`) basati
|
||||
|
||||
Reference in New Issue
Block a user