Files
smartbooking/features/check-liberatorie.md
Simone Bierti c64f7b3ca4
Some checks failed
Build and Publish / build (push) Failing after 48s
Add documentation and enhance Conferma entity with QR code tracking
- Add Claude Code documentation (CLAUDE.md) with project overview and development commands
- Add specialized agent configurations (spring-boot-engineer, vue3-frontend-engineer)
- Add feature specifications (check liberatorie, configurazione disponibilità, profilo utente)
- Enhance Conferma entity with codiceQrLink and presenzaConfermata fields
- Update Liquibase changelog and test data for Conferma changes
- Update frontend Conferma component and model with new tracking fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 19:20:02 +01:00

2.5 KiB

Check Liberatorie

Contesto

Quando un utente loggato al sistema intende inserire una nuova prenotazione il routing dell'applicaziione vue lo manda su "/prenotazione/nuova" attivando il componente @prenotazione-form-user.component.ts. Nel form che viene presentato all'utente, @prenotazione-form-user.vue ci sono delle sezioni:

  • una, con un form html, per inserire i dati della prenotazione (scegliere la struttura, giorno e ora d'inizio dell'evento per cui si prenota, giorno e ora di fine, il numero di partecipanti e le motivazioni per l'evento)
  • la seconda con un riepilogo delle informazioni dell'utente che sta eseguendo la prenotazione (se è un privato o se è una società) A questo punto dobbiamo estendere questa maschera per tenere conto del fatto che ogni struttura (selezionata nel form attraverso una select box) ha associati uno o più ModelliLiberatoria (@src/main/webapp/app/shared/model/modello-liberatoria.model.ts), che rappresenta delle informazioni che l'utente, che compila la prenotazione, deve accettare per poter inserire la prenotazione stessa.

Da implementare

è da implementare una nuova sezione dal titolo "Liberatorie". Qui dentro vanno recuperati gli oggetti Liberatoria (@src/main/webapp/app/shared/model/liberatoria.model.ts) associati all'UtenteApp e ModelloLiberatoria, a sua volta associato alla Struttura selezionata nel form di prenotazione. Nel caso in cui gli oggetti Liberatoria non esistessero, è necessario permettere all'utente di compilarli: vanno mostrati, per ognuno degli oggetti Liberatoria non presenti, dei link con il nome del ModelloLiberatoria da accettare; quando l'utente preme sul link si deve aprire una modale che nel corpo avrà le informazioni dell'oggetto ModelloLibreratoria da associare alla Liberatoria che stiamo accettando e un breve testo, che contenga i dati dell'utente del tipo "il sottoscritto {{utente.nome}} {{utente.cognome}} presa visione della documentazione proposta accetta le condizioni ivi indicate". La modale avrà poi 2 pulsanti "Accetta" e "annulla": accettando verrà lanciata la chiamata di salvataggio dell'oggetto Liberatoria con associati i riferimenti dell'UtenteApp e del ModelloLiberatoria. Il submit delle informazioni verrà completato inserendo nella proprietà "liberatoria.accettata" la data corrente. Contestuale alla risposta di avvenuto salvataggio da parte del backend verrà chiusa in automatico la modale e verrà aggiornata la sezione "Liberatorie" tenendo conto della presenza della nuova liberatoria inserita.