Update links in generation-documents guide to use properties.md; add notes and enhance examples for conditions and loops
Build and Push MkDocs Docker Image / build-and-push (push) Successful in 1m40s

This commit is contained in:
2026-09-22 11:14:18 +02:00
parent 5a5bca1d45
commit f6e536ca61
2 changed files with 40 additions and 34 deletions
@@ -49,6 +49,10 @@
### Choisir parmi plusieurs cas: `choose` ### Choisir parmi plusieurs cas: `choose`
:::{ .note }
L'exemple ci-dessous comporte deux conditions; mais il est possible d'en indiquer autant de condition que l'on souhaite.
:::
| Balise | Contenu | | Balise | Contenu |
| --- | --- | | --- | --- |
| Balise ouvrante | `choose test=""` | | Balise ouvrante | `choose test=""` |
+36 -34
View File
@@ -63,9 +63,9 @@ Cela est accessible via le menu "Insertion > Renvoi...", puis choisir l'onglet "
La valeur à indiquer dans le champ "substituant" est à déduire des informations ci-dessous. La valeur à indiquer dans le champ "substituant" est à déduire des informations ci-dessous.
![Menu Insertion > Renvoi dans LibreOffice](./img/generation-document/libre-office-insert-renvoi.png) ![Menu Insertion > Renvoi dans LibreOffice](/admin/img/generation-document/libre-office-insert-renvoi.png)
![Insérer un substituant. Ici, le substituant est l'identifiant (numéro, `id`) du parcours: `v.course.id`](./img/generation-document/libre-office-fonction-substituant.png) ![Insérer un substituant. Ici, le substituant est l'identifiant (numéro, `id`) du parcours: `v.course.id`](/admin/img/generation-document/libre-office-fonction-substituant.png)
## Nature (type) des variables ## Nature (type) des variables
@@ -80,7 +80,7 @@ Chaque variable comporte un type: il peut s'agir de:
- un objet; - un objet;
- ou une liste d'objets, de nombres, ou de textes. - ou une liste d'objets, de nombres, ou de textes.
Les variables et leur type sont décrites [dans la section suivante](#sec:gendoc-champs-objets). Le type est indiqué entre parenthèse: Les variables et leur type sont décrites [dans la section suivante](properties.md#sec:gendoc-champs-objets). Le type est indiqué entre parenthèse:
* si le type commence par une majuscule, alors cette variable est un object. Il comporte des sous-champs, et il faut se reporter à la description de l'objet correspondant; * si le type commence par une majuscule, alors cette variable est un object. Il comporte des sous-champs, et il faut se reporter à la description de l'objet correspondant;
* si le type commence par une minuscule, alors cette variable peut être utilisée directement dans le document: * si le type commence par une minuscule, alors cette variable peut être utilisée directement dans le document:
@@ -144,10 +144,10 @@ Par exemple, pour un courrier généré dans un contexte "parcours", l'utilisate
#### Variables { #sec:entity-variables-all-context } #### Variables { #sec:entity-variables-all-context }
* `creator`: ([User](#sec:entity-user)) le créateur; * `creator`: ([User](properties.md#sec:entity-user)) le créateur;
* `createdAt` ([Date](#sec:entity-date)): la date et l'heure de création; * `createdAt` ([Date](properties.md#sec:entity-date)): la date et l'heure de création;
* `createdAtDate` ([Date](#sec:entity-date)): la date de la création (sans l'heure). Utilisable pour indiquer la date d'un courrier, par exemple; * `createdAtDate` ([Date](properties.md#sec:entity-date)): la date de la création (sans l'heure). Utilisable pour indiquer la date d'un courrier, par exemple;
* `location` ([Location](#sec:entity-location)): le lieu sélectionné par le créateur, au moment de la génération **ou** celui choisi par l'étape 1. * `location` ([Location](properties.md#sec:entity-location)): le lieu sélectionné par le créateur, au moment de la génération **ou** celui choisi par l'étape 1.
### Document générés pour un parcours ### Document générés pour un parcours
@@ -164,11 +164,11 @@ Les administrateurs fonctionnels peuvent activer les paramètres suivants:
Le document présente: Le document présente:
* une variable `course`, de type [`AccompanyingPeriod`](#sec:entity-accompanyingperiod); * une variable `course`, de type [`AccompanyingPeriod`](properties.md#sec:entity-accompanyingperiod);
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type [`Person`](#sec:entity-user), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager principal du parcours` est coché, une variable `mainPerson`, de type [`Person`](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type [Person](#sec:entity-user), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 1` est coché, une variable `person1`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type [Person](#sec:entity-user), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 2` est coché, une variable `person2`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* une variable `thirdParty`, de type [`ThirdParty`](#sec:entity-thirdparty), uniquement si l'administrateur fonctionnel l'a configuré. * une variable `thirdParty`, de type [`ThirdParty`](properties.md#sec:entity-thirdparty), uniquement si l'administrateur fonctionnel l'a configuré.
### Document générés pour un parcours, contexte "liste des activités" ### Document générés pour un parcours, contexte "liste des activités"
@@ -176,38 +176,38 @@ Le contexte présente les mêmes variables et paramètre que les documents gén
La variable suivante est ajoutée: La variable suivante est ajoutée:
* `activities` (liste de [Activity](#sec:entity-activity)): Liste d'activités, variant "light". Aucun filtre n'est appliqué sur les échanges récupérés. * `activities` (liste de [Activity](properties.md#sec:entity-activity)): Liste d'activités, variant "light". Aucun filtre n'est appliqué sur les échanges récupérés.
### Document générés pour une évaluation ### Document générés pour une évaluation
Le document présente: Le document présente:
* une variable `evaluation` de type [`AccompanyingPeriodWorkEvaluation`](#sec:entity-accompanyingperiodworkevaluation): l'évaluation concernée; * une variable `evaluation` de type [`AccompanyingPeriodWorkEvaluation`](properties.md#sec:entity-accompanyingperiodworkevaluation): l'évaluation concernée;
* une variable `work` de type [`AccompanyingPeriodWork`](#sec:entity-accompanyingperiodwork): l'action d'accompagnement au sein de laquelle l'évaluation est générée; * une variable `work` de type [`AccompanyingPeriodWork`](properties.md#sec:entity-accompanyingperiodwork): l'action d'accompagnement au sein de laquelle l'évaluation est générée;
* une variable `course`, de type [`AccompanyingPeriod`](#sec:entity-accompanyingperiod): le parcours au sein duquel l'évaluation est générée; * une variable `course`, de type [`AccompanyingPeriod`](properties.md#sec:entity-accompanyingperiod): le parcours au sein duquel l'évaluation est générée;
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type [`Person`](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager principal du parcours` est coché, une variable `mainPerson`, de type [`Person`](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type [Person](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 1` est coché, une variable `person1`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type [Person](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 2` est coché, une variable `person2`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* une variable `thirdParty`, de type [`ThirdParty`](#sec:entity-thirdparty), uniquement si l'administrateur fonctionnel l'a configuré. * une variable `thirdParty`, de type [`ThirdParty`](properties.md#sec:entity-thirdparty), uniquement si l'administrateur fonctionnel l'a configuré.
### Document générés pour un échange ### Document générés pour un échange
Le document présente: Le document présente:
* une variable `activity`, de type [`Activity`](#sec:entity-activity): l'évaluation concernée * une variable `activity`, de type [`Activity`](properties.md#sec:entity-activity): l'évaluation concernée
* une variable `course`, de type [`AccompanyingPeriod`](#sec:entity-accompanyingperiod): le parcours concerné, à condition que l'échange ait été créé dans un contexte parcours * une variable `course`, de type [`AccompanyingPeriod`](properties.md#sec:entity-accompanyingperiod): le parcours concerné, à condition que l'échange ait été créé dans un contexte parcours
* une variable `person`, de type [`Person`](#sec:entity-person): la personne concernée, à condition que l'échange ait été créée dans un contexte d'usager. * une variable `person`, de type [`Person`](properties.md#sec:entity-person): la personne concernée, à condition que l'échange ait été créée dans un contexte d'usager.
Il est possible également d'injecter des dossiers d'usagers, parmi ceux associés **à l'échange** (l'utilisateur peut choisir parmis les usagers de l'échange, et pas les usagers concernés du parcours). Il est possible également d'injecter des dossiers d'usagers, parmi ceux associés **à l'échange** (l'utilisateur peut choisir parmis les usagers de l'échange, et pas les usagers concernés du parcours).
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type [`Person`](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager principal du parcours` est coché, une variable `mainPerson`, de type [`Person`](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type [Person](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 1` est coché, une variable `person1`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type [Person](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 2` est coché, une variable `person2`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
### Documents générés dans le dossier d'une personne: contexte "personne basique" ### Documents générés dans le dossier d'une personne: contexte "personne basique"
* une variable `person`, de type [Person](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`; * une variable `person`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`;
* une variable `thirdParty`, de type [`ThirdParty`](#sec:entity-thirdparty), uniquement si l'administrateur fonctionnel l'a configuré. * une variable `thirdParty`, de type [`ThirdParty`](properties.md#sec:entity-thirdparty), uniquement si l'administrateur fonctionnel l'a configuré.
### Documents générés dans le dossier d'une personne: contexte "personne avec un tiers" ### Documents générés dans le dossier d'une personne: contexte "personne avec un tiers"
@@ -217,16 +217,16 @@ Cela peut être utile pour, par exemple, générer un courrier vers un tiers dé
Les variables disponibles sont les suivantes: Les variables disponibles sont les suivantes:
* une variable `person`, de type [Person](#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`. * une variable `person`, de type [Person](properties.md#sec:entity-person), avec les variants `relations`, `household` (ménage) et `budget`.
* une variable `thirdParty`, de type [`ThirdParty`](#sec:entity-thirdparty); * une variable `thirdParty`, de type [`ThirdParty`](properties.md#sec:entity-thirdparty);
### Document générés dans un contexte "rendez-vous" ### Document générés dans un contexte "rendez-vous"
Les champs suivant sont disponibles: Les champs suivant sont disponibles:
* une variable `calendar` ([Calendar](#sec:entity-calendar)), qui contient les données du rendez-vous; * une variable `calendar` ([Calendar](properties.md#sec:entity-calendar)), qui contient les données du rendez-vous;
* une variable `mainPerson` ([Person](#sec:entity-person)), la personne principale parmi les personnes participant au rendez-vous. Cette variable n'est présente que si l'administrateur fonctionnel l'a configurée. * une variable `mainPerson` ([Person](properties.md#sec:entity-person)), la personne principale parmi les personnes participant au rendez-vous. Cette variable n'est présente que si l'administrateur fonctionnel l'a configurée.
* une variable `thirdParty` ([ThirdParty](#sec:entity-thirdparty)): un tiers participant au rendez-vous. Cette variable n'est présente que si l'administrateur fonctionnel l'a configurée. * une variable `thirdParty` ([ThirdParty](properties.md#sec:entity-thirdparty)): un tiers participant au rendez-vous. Cette variable n'est présente que si l'administrateur fonctionnel l'a configurée.
## Conditions ## Conditions
@@ -277,6 +277,8 @@ if test="len(v.course.currentParticipations) > 1"
Lorsque plusieurs cas s'excluent mutuellement, on peut les enchainer: les tests sont évalués dans l'ordre, le contenu du premier `when` dont le test est vrai est affiché, et, si aucun ne l'est, c'est le contenu de `otherwise` qui apparait. C'est l'équivalent d'une suite « si … sinon si … sinon ». Lorsque plusieurs cas s'excluent mutuellement, on peut les enchainer: les tests sont évalués dans l'ordre, le contenu du premier `when` dont le test est vrai est affiché, et, si aucun ne l'est, c'est le contenu de `otherwise` qui apparait. C'est l'équivalent d'une suite « si … sinon si … sinon ».
Voici un exemple avec deux conditions, mais il est possible d'en indiquer autant que l'on souhaite.
| Balise | Contenu | | Balise | Contenu |
| --- | --- | | --- | --- |
| Balise ouvrante | `choose test=""` | | Balise ouvrante | `choose test=""` |
@@ -292,7 +294,7 @@ Lorsque plusieurs cas s'excluent mutuellement, on peut les enchainer: les tests
## Boucles ## Boucles
Les boucles s'appliquent sur les listes: elles permettent de répéter une partie du document pour chaque élément d'une liste. Les variables de type "liste" sont indiquées dans la [description des variables par contexte](#sec:gendoc-champs-documents) et dans la [description des objets](properties.md) (par exemple, "liste de [Activity](#sec:entity-activity)"). Les boucles s'appliquent sur les listes: elles permettent de répéter une partie du document pour chaque élément d'une liste. Les variables de type "liste" sont indiquées dans la [description des variables par contexte](#sec:gendoc-champs-documents) et dans la [description des objets](properties.md) (par exemple, "liste de [Activity](properties.md#sec:entity-activity)").
| Balise | Contenu | | Balise | Contenu |
| --- | --- | | --- | --- |