Some checks failed
Build and Publish / build (push) Failing after 48s
- 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>
12 lines
2.5 KiB
Markdown
12 lines
2.5 KiB
Markdown
# 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.
|