Registro operazioni
Il Registro operazioni è il registro audit immutabile di XIQUIL: ogni creazione, modifica e cancellazione di entità viene tracciata automaticamente e non è più alterabile. Utile per auditing interno, diagnosi di problemi, e compliance.
A cosa serve
Sezione intitolata “A cosa serve”- Capire chi ha modificato cosa e quando
- Recuperare il valore precedente di un campo modificato
- Auditing per istanze multi-utente
- Ricostruire una sequenza di eventi durante un’indagine
Come si usa
Sezione intitolata “Come si usa”- Dal menu monitoraggio, apri Registro operazioni
- L’elenco è ordinato per data decrescente (ultime modifiche in alto)
- Usa i filtri per:
- Entità (uscite, entrate, fondi, ecc.)
- Operazione (creazione/modifica/cancellazione)
- Utente
- Periodo
- Clicca una riga per vedere il diff completo (prima/dopo) e il contesto (IP, device)

Concetti chiave
Sezione intitolata “Concetti chiave”- Immutabile a livello DB: un trigger PostgreSQL blocca qualunque UPDATE/DELETE sul registro — nessuno può alterare la storia, nemmeno l’admin
- Auto-popolato: il tracking avviene via SQLAlchemy listener, senza che le entità debbano implementare logica specifica
- JSON diff: la modifica registra
before_data,after_data,changesin JSONB — compatti ma esplorabili - Valori serializzati: numeri decimali, date e valori tecnici vengono normalizzati prima della scrittura, così il JSONB resta leggibile ed esportabile
- Denormalizzato: al momento della registrazione il nome utente e il codice entità vengono copiati, così restano leggibili anche se l’utente/record viene cancellato
- Context: ogni record include IP e device_id della sessione che ha fatto la modifica
- Polimorfico: funziona con qualunque modello marcato come
AuditableMixin