Skip to main content

Contratti Template

🚧 BOZZA

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.

Logiche rilevanti
  • 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 system che 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 template
    • signature_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 status che indica se la variabile è attiva o meno per il template.