# DPass 61D8 — Scelta dei veicoli nelle prenotazioni Strutture

Base richiesta: progetto locale allineato alla 61D7. Applicare prima a `~/progetti/dpass`.

## Correzione
Il campo targa usava un input con `datalist`: suggerimenti, non un elenco esplicito.
La nuova tendina «Veicolo salvato» elenca tutti i veicoli attivi già caricati dal
controller per l'utente e il tenant correnti, con targa, nome facoltativo e indicazione
del predefinito. Non cambia la query né allarga la visibilità ad altri utenti/tenant.

Il predefinito rimane la proposta iniziale (in sua assenza resta il primo veicolo
nell'ordine esistente). «Inserisci una targa diversa» svuota il campo e permette
l'inserimento manuale. Il campo testo rimane modificabile; la tendina si riallinea
se viene digitata una targa già presente, ignorando maiuscole, spazi e trattini nel
solo confronto. La validazione effettiva del server rimane quella preesistente.
Il valore inviato al preventivo è sempre `plate`, non un ID veicolo o un nuovo dato.

La scelta viene recuperata da input dopo errore e da «Modifica dati», senza tornare
alla predefinita. Nessun salvataggio automatico: la richiesta di memorizzare una
nuova targa resta facoltativa e segue l'acquisto esistente; per targhe già salvate
il relativo checkbox viene nascosto e disabilitato. Se non ci sono veicoli rimane
l'inserimento manuale. Senza JavaScript la tendina è disabilitata con un avviso:
la targa si può ancora scrivere nel campo testo.

Testi IT/EN, pulsanti e branding preesistenti. Nessuna modifica alla gestione
Veicoli, alle soste ordinarie, al calcolo 61D7, ai pagamenti o alle prenotazioni già
registrate. L'aggiornamento GET della data conserva il comportamento preesistente;
non sono introdotte nuove route né persistenza ulteriore di bozze.

## Applicazione WSL
Scaricare lo ZIP in `C:\Users\massi\Downloads` e incollare tutto il blocco:

```bash
(
  set -e
  cd ~/progetti/dpass
  PATCH_DIR="$(mktemp -d /tmp/dpass_patch_61D8.XXXXXX)"
  unzip -q /mnt/c/Users/massi/Downloads/dpass_patch_61D8_selezione_veicoli.zip -d "$PATCH_DIR"
  bash "$PATCH_DIR/apply_patch.sh" "$PWD"
)
```

Esito: `[61D8] PATCH 61D8 APPLICATA E VERIFICATA.`

L'installer verifica marcatore 61D7, hash dei prerequisiti e file da aggiornare,
crea un backup in `storage/app/patch-backups/` e prova i sorgenti applicati con
fixture isolate, senza leggere il `.env` del progetto e senza database operativo.
Pulisce solo le viste compilate standard. Non servono Composer, NPM, nuove variabili,
cron o migration. In caso di conflitto non forzare: inviare l'errore prima di procedere.
In caso di test falliti dopo la copia tenta il ripristino automatico dei file.

Preflight opzionale: `bash "$PATCH_DIR/apply_patch.sh" "$PWD" --check`.
Rollback: `bash "$PATCH_DIR/rollback.sh" "$PWD"` dopo aver conservato il percorso
della directory temporanea. Il ripristino controlla gli hash e non sovrascrive
modifiche successive. Backup e marcatori vengono mantenuti per verifica.

## Collaudo
In «Prenota ingresso» verificare almeno due veicoli salvati: cambiare dalla targa
predefinita all'altra, lasciare un giorno e calcolare il preventivo. La targa del
riepilogo deve corrispondere a quella selezionata. «Modifica dati» deve conservarla.
Provare poi targa manuale e passaggio IT/EN. Se la pagina era già aperta, ricaricarla
prima del test. Nessuna necessità di cancellare prenotazioni o dati di prova.

## Produzione
Nessuna operazione phpMyAdmin per 61D8. Lo SQL cumulativo 61A/61B/61D è incluso
identico come riferimento per il rilascio unico futuro; non eseguirlo ora e non
eseguire a parte il vecchio 61B. Seguire `CPANEL_RILASCIO_61D8.md` dopo collaudo locale.
