++ fix permessi assegnazioni
This commit is contained in:
24
HANDOFF.md
24
HANDOFF.md
@@ -123,6 +123,30 @@ i pulsanti Modifica/Elimina in `campagna-index`/`campagna-show` sono sotto
|
||||
`@can('settings.manage')`. Nota: `Campagna` non ha soft delete — l'eliminazione
|
||||
è definitiva.
|
||||
|
||||
Per i **territori** vale un modello leggermente diverso, perché la
|
||||
visualizzazione va aperta a tutti gli operativi: lista (`territori.index`) e
|
||||
dettaglio (`territori.show`) sono ora su `territori.assign` (che hanno admin,
|
||||
assistente e operatore); creazione/modifica/cestino restano su `territori.manage`
|
||||
(solo admin). Attenzione a due punti:
|
||||
|
||||
- **Ordine delle rotte.** Le rotte letterali `territori/create` e
|
||||
`territori/cestino` devono restare registrate PRIMA del wildcard
|
||||
`territori/{territorio}`, altrimenti verrebbero catturate dalla rotta di
|
||||
dettaglio.
|
||||
|
||||
- **`TerritorioIndex` perde la copertura del middleware persistente.** Il suo
|
||||
componente è ora servito da una rotta rilassata (`territori.assign`), quindi i
|
||||
suoi metodi di mutazione (`toggleActive`, `togglePriority`, `deleteTerritorio`)
|
||||
NON sono più protetti dal middleware di route e hanno un
|
||||
`$this->authorize('territori.manage')` interno — senza, un operativo potrebbe
|
||||
invocarli via `/livewire/update` col pulsante nascosto. Per difesa in
|
||||
profondità lo stesso check è stato aggiunto anche a `TerritorioCreate::save`,
|
||||
`TerritorioEdit::save`/`removePdf`, `TerritorioCestino::restore`/`forceDelete`
|
||||
(che restano comunque su rotte `territori.manage`). I pulsanti
|
||||
Modifica/toggle/Elimina/Nuovo/Cestino in `territorio-index`/`territorio-show`
|
||||
sono sotto `@can('territori.manage')`; il link "Dettaglio" resta visibile a
|
||||
tutti. Il menu laterale mostra "Territori" a chi ha `territori.assign`.
|
||||
|
||||
### Export/Import XML: backup completo e round-trip
|
||||
|
||||
`Livewire/Settings/XmlExchange` esporta e reimporta **tutti** i dati gestionali,
|
||||
|
||||
Reference in New Issue
Block a user