Modifier le fichier

Formulaires personnalisés

Lors de son inscription à un évènement, il est possible de demander des informations complémentaires au participant. C'est la notion de "Question" dans pretix.

Création d'un nouveau formulaire

Les formulaires sont des fichiers JSON contenant la définition des questions.

Le fichier de définition doit respecter la syntaxe exacte de pretix.
En effet, le fichier est envoyé directement via l'API sur le endpoint pretix dédié.

Actuellement, le moyen le plus simple de générer un nouveau formulaire est d'utiliser l'IHM pretix native. Une fois le formulaire construit, il suffit de l'appeler via le endpoint d'API GET /api/v1/organizers/(organizer)/events/(event)/questions/ Dans la réponse, extraire la section results et la copier dans un fichier ".json"

HTTP/1.1 200 OK
Vary: Accept
Content-Type: application/json

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [{
        "id": 1,
        "question": {"en": "T-Shirt size"},
        "help_text": {"en": "Choose your preferred t-shirt-size"},
        "type": "C",
        ...
        },{
        ...
    }]
}

Selon le besoin, le fichier généré peut être stocké dans trois emplacements différents:

  1. Dans les ressources de l'extension inscription v2
    C'est le cas des questionnaires "produit" qui seront communs à tous les clients. Le fichier doit etre déposé dans le répertoire src/main/resources/form/templates de l'extension.
  2. Dans les ressources du projet
    C'est le cas des questionnaires "projet" spécifiques à un client. Le fichier doit etre déposé dans le répertoire src/main/resources/form/templates du projet.
  3. Dans le répertoire /inscription/templates/ du storage
    C'est le cas des questionnaires "projet" urgents, spécifiques à un client. En déposant le formulaire dans le storage il est immédiatement disponible, sans avoir besoin de procéder à une livraison et un déploiement.

Les fichiers issus du storage sont toujours prioritaires par rapport aux fichiers embarqués.
Si un fichier existe dans le storage et dans les ressources, c'est le fichier du storage qui fera foi.

Afin d'activer un formulaire pour le rendre disponible dans la création /modification d'un évènement, le fichier doit être associé à un libellé K-Sup dont le code est le nom (hors extension) du fichier JSON. Par exemple, pour un fichier de question nommé lorem.json, il faut créer un libellé de type "(Évènement) Type de formulaire" dont le code et "lorem".

Cela implique que les formulaires produit ou projet doivent être accompagnés d'un script flyway pour créer le libellé associé.