Contratti Template
I contratti template rappresentano contratti generici utilizzati per generare contratti effettivi.
🤔 Dubbi/Cose nuove da considerare
- Capire come gestire le versioni del contratto template.
🧠 Concetti chiave
I contratti template rappresentano contratti generici utilizzati per generare contratti effettivi, come contratti di commessa, adesione, APE, ecc. I contratti template vengono utilizzati come modelli per generare contratti effettivi. I contratti generati sono precompilati con i dati del template.
Ogni contratto template è composto da titolo, tipologia, tipi di firma, variabili e corpo del contratto:
- Il titolo è il nome identificativo del contratto template.
- La tipologia permette di classificare il contratto template in una tipologia specifica (es. commessa, adesione, APE, ecc.). Le tipologie sono entità del sistema che raggruppano i template per scopo.
- I tipi di firma definiscono le modalità di firma supportate dal contratto (es. digitale, manoscritta).
- Le variabili sono campi dinamici che possono essere utilizzati nel corpo del contratto. Le variabili sono associate al template e possono essere di diverse categorie (es. core, signatures, project, customer, company, attachments, ecc.) e tipi di input (es. text, email, date, fiscal_code, ecc.).
- Il corpo del contratto è il testo del contratto, che può essere modificato utilizzando un editor WYSIWYG.
In piattaforma è possibile creare e modificare i contratti template:
- In fase di creazione e modifica è possibile selezionare la tipologia, definire i tipi di firma supportati, associare le variabili legate al contratto e modificare il corpo del contratto utilizzando un editor WYSIWYG.
- All'interno del template è possibile utilizzare una toolbar completa con opzioni di formattazione e richiamare le variabili associate al contratto utilizzando il simbolo @.
In piattaforma è possibile visualizzare le variabili disponibili per i template. Le variabili sono organizzate per categoria e hanno un tipo di input specifico che determina come verranno inserite/modificate nei contratti effettivi.
- Le variabili disponibili per il template sono quelle presenti nel database, create precedentemente lato codice.
- Le variabili possono avere diverse categorie che ne determinano la provenienza dei dati (es. core per dati di sistema, customer per dati cliente, project per dati commessa, ecc.).
- Ogni variabile ha uno stato (attiva/disattiva) nella relazione con il template, salvato in
contract_templates_variable_templates. - DA APPROVARE: Ad ogni modifica del contratto template, viene salvata una nuova versione del contratto. Le versioni precedenti sono visibili e scaricabili dall'elenco dello storico delle versioni.
⚙️ Logiche sotto il cofano
Entità coinvolte
Le entità strettamente coinvolte nei contratti template sono:
- typology_templates: in questa entità vengono salvate le tipologie di contratti (es. commessa, adesione, APE). Ogni tipologia ha un flag
systemche indica se è una tipologia di sistema. - contract_templates: in questa entità vengono salvati i contratti template. Campi principali:
typology_template_id: riferimento alla tipologia del templatesignature_types: array JSON che contiene i tipi di firma supportati (digital, handwritten)body: corpo del contratto in formato HTML
- variable_templates: in questa entità vengono salvate le variabili disponibili per tutta la piattaforma. Campi principali:
category: categoria della variabile (core, signatures, project, customer, company, attachments, date, ecc.)type: tipo di input della variabile (text, email, date, fiscal_code, vat_number, province, country, number)
- contract_templates_variable_templates: in questa entità viene salvata la relazione tra contratto template e variabili, dove vengono salvate le variabili selezionabili per il contratto template. Include un campo
statusche indica se la variabile è attiva o meno per il template.