Changelog
All notable changes to this project will be documented in this file.
[1.3.0] 2026-10-14
- Nuova lista gestita "Tipologie procedura" (`asylum_procedure_types`), prevalorizzata con Accelerata, Ordinaria, Reiterata, Ricorrente e NA, disponibile in Gestione liste.
- Anagrafica destinatario: aggiunto il campo `asylum_procedure_type_id` ("Tipologia procedura", sezione "Se richiedente asilo"), con validazione e salvataggio in `POST /api/receivers` e `PUT /api/receivers/{id}`; la lista è esposta anche da `GET /api/receivers/init`.
- Anagrafica destinatario: aggiunto il flag `privacy_signed` ("Informativa privacy firmata", sezione "Copie e Firme"), con validazione e salvataggio in `POST /api/receivers` e `PUT /api/receivers/{id}`; negli export completo e semplificato destinatari aggiunta la colonna "Informativa privacy firmata" (Sì/No) dopo "Scheda anagrafica firmata".
- Nuova lista gestita "Lingue parlate" (`spoken_languages`), prevalorizzata con Italiano, Inglese e Francese, disponibile in Gestione liste.
- Anagrafica destinatario: aggiunti il campo multiplo `spoken_languages` (tabella pivot `receivers_spoken_languages`) e il flag `mediation_activated` ("Hai attivato una mediazione"), con validazione, salvataggio e lettura in `POST /api/receivers` e `PUT /api/receivers/{id}`; la lista è esposta anche da `GET /api/receivers/init`.
- Export completo destinatari (`GET /api/receivers/export/{start}/{finish}`): dopo "Nazionalità" aggiunte le colonne "Lingue parlate" (elenco in un unico campo) e "Hai attivato una mediazione" (Sì/No).
- Reso obbligatorio `Settore di lavoro` se `Attualmente lavora` è a si.
- Allineate le nazioni di `places` all'elenco del ministero: rinominate 164 voci (es. `BAHAMA→Bahamas`, `RUSSIA→Federazione russa`, `SWAZILAND→Eswatini`, `JUGOSLAVIA (SERBIA-MONTENEGRO)→Montenegro`, `JUGOSLAVIA ETNIA KOSSOVARA→Kosovo`) e aggiunta `Serbia`. Aggiornati i codici catastali di Montenegro (`Z159`) e Kosovo (`Z160`).
- Eliminate (soft delete) 14 nazioni doppie o ambigue (es. `MALESIA`, `GUAYANA FRANCESE`, le voci "ETNIA CURDA", `VIETNAM DEL NORD/SUD`, `TERRITORIO DI GAZA`, `TURKS`): i record che le referenziavano vengono ricongiunti alla nazione principale (es. `TURCHIA-ETNIA CURDA→Turchia`, `TURKS→Dipendenze Britanniche`).
- Le nazioni non presenti nell'elenco del ministero passano da tutto maiuscolo a iniziali maiuscole (es. `CITTÀ DEL VATICANO→Città del Vaticano`); `URSS` resta invariata.
- Inserimento destinatario (`POST /api/receivers`): obbligatorio il nuovo blocco `victim` (stessi campi e regole della modale del tab "Vittima Sfruttamento": partner, tipologia vittima e data valutazione obbligatori; ente, provincia, data segnalazione, denuncia e note facoltativi). Il destinatario e la riga in `receivers_victims` vengono salvati nella stessa transazione. L'aggiornamento (`PUT /api/receivers/{id}`) non cambia.
- `GET /api/receivers/init` espone anche le liste `victims`, `victim_entities`, `victim_report_types` e le note campo `tableFieldNotesReceiversVictims`.
[1.2.0] 2026-09-09
- Nuovo tracciato per l'export ministeriale dei destinatari (`GET /api/receivers/export_ministry/{start}/{finish}`): intestazioni su due righe con macro sezioni unite, filtri automatici, riquadri bloccati e larghezze colonna calcolate sul contenuto.
- Aggiunti gli indicatori `fami_questionnaire`, `pds_18` e `pds_18_ter` su `receivers_indicators` (migrazione, model e validazione in creazione/aggiornamento).
- Il questionario di gradimento FAMI alimenta il risultato "Utilità della formazione per l'integrazione" nel report ministeriale.
[1.1.2] 2026-08-24
- Aggiornato companee/core alla versione v2.1.2: il middleware di autenticazione non risponde più 401 su guasti non legati al token (database, cache, errori applicativi), che causavano il logout degli utenti con sessione valida; ora restituisce 503. Il refresh del token distingue il token già rinnovato da una chiamata concorrente (409) dalla sessione realmente scaduta (401), e le letture delle configurazioni di autenticazione non falliscono più se una chiave manca a database.
- Aggiunta la chiave `jwt.warning` in `config/jwt.php`: il valore di `JWT_WARNING` veniva ignorato e l'avviso di scadenza sessione usava un default errato, che avviava il rinnovo del token molto prima del necessario.
- Impostato `blacklist_grace_period` a 30 secondi: le chiamate API già in corso non vengono più rifiutate quando il token viene rinnovato.
[1.1.1] 2026-07-27
- Aggiornato companee/core alla versione v2.0.14: fix crash `mb_convert_encoding(): Object is not supported` su endpoint con upload file. Il middleware `Terminating` ora estrae i metadati dei file allegati (nome, mime, dimensione) in `handle()`, prima che il controller li sposti dalla cartella temp di PHP. In `terminate()` — dove il file temp è già eliminato — i dati vengono letti dagli attributes della request invece di fare `stat()` su un path inesistente.
- Fix per visualizzazione tipologia vulnerabilità selezionata che è stata cancellata
[1.1.0] 2026-07-07
- Disponibile il nuovo endpoint `GET /api/users/export` (introdotto nel core v2.0.13) per il download della lista utenti in formato Excel (.xlsx).
- Aggiunto `config/core.php` con override della label gruppi in "Partner/Enti" per allineamento alla terminologia del progetto.
[1.0.1] 2026-06-10
- Aggiunto campo Data fine supporto per i destinatari.
- Aggiornati valori del campo `sex` su `receivers`: `Maschio→Uomo`, `Femmina→Donna`, `Trans→Persona trans`; aggiunti `Non binario` e `N/A` come valori accettati.
- Aggiunto campo Data rilevazione nella sezione vulnerabilità.
- Aggiornati `table_field_notes` con le note per i nuovi campi.
- Aggiornata logica di import Excel e export per i nuovi valori e adeguato le etichette.
[1.0.0] 2026-05-27
- Implementazione sistema versionamento.
- Aggiunta documentazione API tramite Swagger (l5-swagger): configurazione, view dedicata e annotazioni sul controller base.
- Abilitata suite di test con env.testing.default.
- Aggiornata pagina di benvenuto con riepilogo delle route disponibili.