# Funzionalità EXTRA aggiunte su richiesta di Benza

Elenco delle **nuove funzionalità** aggiunte al gestionale dopo la messa in
produzione, su richiesta di Benza (candidate a fatturazione come extra).
Separati dai **bug fix** (non fatturabili). Le date sono quelle dei commit.

> ⚠️ Cosa fosse già incluso nel preventivo di rifacimento lo sai tu: qui elenco
> tutto ciò che è *nuovo rispetto al vecchio gestionale*; decidi tu la linea.

---

## 🆕 Nuove funzionalità — con modifica alla struttura del DB (lavoro strutturale)

| Data | Funzionalità | Migration |
|------|--------------|-----------|
| 16/07 | **Flag "Da spedire"**: 5ª checkbox sull'ordine + **tab dedicata** in elenco ordini + **auto-flag automatico al saldo** del pagamento + **auto-deflag** alla spedizione + **backfill** ordini esistenti | 030, 031, 032 |
| 16/07 | **Campo Titolo/Descrizione ordine** ampliato da 128 a **500 caratteri** (per l'elenco articoli lungo) | 035 |

## 🆕 Nuove funzionalità — solo software (nessuna modifica DB)

| Data | Funzionalità |
|------|--------------|
| 16/07 | **Filtro di ricerca real-time sugli allegati** ordine (utile su ordini con centinaia di allegati, es. #8562 con 139) |
| 16/07 | **Unificazione modal "nuovo/modifica stato"** per tutte le categorie: modificando uno stato si apre la sua scheda ricca specifica (prima si apriva una modal ridotta generica) |
| 16/07 | **Allowlist tag `<b>` e `<font color>`** nei titoli degli stati (per formattare senza rischi XSS) |
| 15/07 | **Log Attività** — visibile anche ai **dipendenti** + **nome cliente** nei dettagli + **ID fattura/allegato cliccabili** (rimando all'ordine) + **paginazione doppia** (cima e fondo) |
| 15/07 | **Ricerca estesa "ovunque"**: per recapiti (tel/cell/email/pec), **affiliato** e **sotto-contatti**; filtro Cliente nei Report |
| 14/07 | **Toolbar TinyMCE ampliata** negli stati: font, dimensione, colore testo, evidenziazione, **tabelle**, menu in **italiano** |
| 14/07 | **Note del cliente** mostrate nella card Cliente della scheda ordine |
| 14/07 | Bottone **"Adesso"** per impostare la data ordine all'ora corrente; **bottone Salva in cima** a tutte le modal di stato |
| 13/07 | **Allegati a formato libero** (dwg, ecc., non più solo whitelist) + **più allegati per stato** |
| 15/07 | **Statistiche**: valori numerici sui grafici + riordino grafici + confronto entrate affiancato *(se richiesto come extra)* |

## 🔜 In corso / concordate (extra prossime)

- **Calendario** del vecchio progetto **integrato in iframe** dentro il gestionale
- **Log errori** potenziato: intercettazione **Warning/Notice PHP** + **crash JavaScript** del frontend
- **Card Cliente** ad altezza pari alla card Ordine (scroll interno) + **URL Google Maps → icona pin** cliccabile

---

## 🐛 Bug fix (NON fatturabili — solo per riferimento)

- Fattura: importo con decimali troncato a intero (`bind_param`)
- Fattura: modifica rotta ("id_fatturazione obbligatorio")
- Sposta-stato: falliva sempre (colonna inesistente) + 2° avviso di conferma non compariva
- Stati Spedizione: "Invalid Date" su date legacy + modifica apriva la modal sbagliata
- Corriere "Altro" (URL/nome lungo): overflow colonna → salvataggio spedizione fallito (mig 036)
- Tasto Pagamento mancante su ordine venduto non ancora saldato
- Allineamento verticale checkbox nella card ordine
- Audit tipi `bind_param` decimali (6 mismatch corretti) + tool di sicurezza
- Vari: email (codici inline, UTF-8), login redirect, log non bloccante
