++ fix campagna
This commit is contained in:
11
HANDOFF.md
11
HANDOFF.md
@@ -112,6 +112,17 @@ drift per i database esistenti: revoca `settings.manage` dal ruolo `assistente`
|
||||
se presente. È idempotente (no-op sul baseline) e volutamente irreversibile —
|
||||
il `down()` non ripristina il permesso.
|
||||
|
||||
Stesso principio per le **campagne**: creazione e visualizzazione restano su
|
||||
`campagne.manage` (che ha anche l'assistente), ma **modifica ed eliminazione
|
||||
sono riservate all'amministratore** (`settings.manage`). Il gate è su tre
|
||||
livelli: la route `campagne/{campagna}/edit` è nel gruppo `settings.manage`;
|
||||
`CampagnaEdit::mount()`/`save()` e `CampagnaIndex::deleteCampagna()` chiamano
|
||||
`$this->authorize('settings.manage')` (l'index è raggiungibile da chi ha
|
||||
`campagne.manage`, quindi il delete va protetto nel metodo, non solo in route);
|
||||
i pulsanti Modifica/Elimina in `campagna-index`/`campagna-show` sono sotto
|
||||
`@can('settings.manage')`. Nota: `Campagna` non ha soft delete — l'eliminazione
|
||||
è definitiva.
|
||||
|
||||
### 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