++ audit log: evento "campagna_percorso" per la scelta sul conteggio in campagna

Registrato al rientro quando viene proposta una campagna (Sì/No) e nel
Registro quando l'amministratore imposta o modifica il conteggio.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Francesco Picone
2026-10-19 10:37:37 +02:00
parent 2f0a24bca4
commit 40b4ca0b0b
4 changed files with 47 additions and 2 deletions

View File

@@ -197,6 +197,27 @@ class Assegnazione extends Model
// ─── Business Logic ─────────────────────────────────────────
/**
* Registra nell'audit log la scelta dell'operatore sul conteggio in
* campagna: evento dedicato "campagna_percorso", leggibile senza dover
* interpretare le proprietà dell'evento "returned".
*/
public function logCampagnaPercorso(?Campagna $campagna, bool $percorso, string $origine): void
{
$this->loadMissing(['territorio', 'proclamatore']);
activity()->causedBy(auth()->user())
->performedOn($this)
->withProperties([
'territorio' => $this->territorio?->numero,
'proclamatore' => $this->proclamatore?->nome_completo,
'campagna' => $campagna?->descrizione,
'percorso_in_campagna' => $percorso ? 'Sì' : 'No',
'origine' => $origine,
])
->log('campagna_percorso');
}
/**
* Check if a campaign prompt should be shown when returning this assignment.
* Returns the matching campaign or null.