Compare commits

...

60 Commits

Author SHA1 Message Date
ad64d60721
précisions sur statut du parcours
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-10 14:21:52 +01:00
d71934b6d8
carte des entités et des relations un-à-plusieurs
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-07 21:47:23 +01:00
73d5e35809
nouveaux filtres dans les échanges 2023-11-07 21:47:19 +01:00
15cf0c045a Merge pull request 'add a page for export and explanations about filters and aggregators' (#6) from documentation-export-base into main
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Reviewed-on: #6
2023-10-24 13:15:22 +00:00
147f1c29f4 Merge pull request 'improve doc for variable thirdParty in Doc gen' (#7) from docgen-add-third-party into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #7
2023-10-24 13:14:59 +00:00
7e9bb952b8
concepts for exports
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-10-24 15:14:24 +02:00
5af59d6c69
add a new "accompanyingPeriodInfo"
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-24 13:15:13 +02:00
1165b5edbd
aggregators for person, accompanying period and activity 2023-10-24 13:14:36 +02:00
3128fa299d
add the exports files to build script
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-10-23 23:05:22 +02:00
6cbf663de8
Merge remote-tracking branch 'origin/documentation-export-base' into documentation-export-base 2023-10-23 23:04:24 +02:00
185e93afd8 more docs on exports
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-23 21:03:41 +00:00
fad78b1c19 new exports 2023-10-23 21:03:41 +00:00
9b14326edc Doc filtre groupement par localisation de l'échange 2023-10-23 21:03:41 +00:00
3a3aedaec1 add new filters and grouping and precise about intervention / intervenants 2023-10-23 21:03:41 +00:00
589742894c add filter 2023-10-23 21:03:41 +00:00
81cc08aaf7 rename the label of some filters 2023-10-23 21:03:41 +00:00
5fab83927e add a page for export and explanations about some filters 2023-10-23 21:03:41 +00:00
24ef4f919a
more docs on exports
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone/pr Build was killed
2023-10-23 14:29:39 +02:00
180daf4e9d
new exports
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-10-20 14:10:41 +02:00
1756474c64 improve doc for variable thirdParty in Doc gen
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Signed-off-by: Julien Fastré <julienfastre@noreply.localhost>
2023-10-19 16:01:32 +00:00
d3f68d6258
Doc filtre groupement par localisation de l'échange
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-07-11 15:14:39 +02:00
09d11a0d3a
force to display figure before title 2023-07-11 15:14:39 +02:00
082f67710e
make numbering starts to 1 2023-07-11 15:14:39 +02:00
7efd5873da
fix numbering 2023-07-11 15:14:39 +02:00
05deae0684
add new filters and grouping and precise about intervention / intervenants
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-30 15:08:54 +02:00
b7d5734caa
add filter
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-27 15:56:05 +02:00
369cf0c714
rename the label of some filters 2023-06-27 15:54:01 +02:00
3b7619486f
force to display figure before title
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-27 14:01:47 +02:00
78bc7128f9
make numbering starts to 1 2023-06-27 14:01:31 +02:00
99e8bc2c7f
fix numbering 2023-06-27 13:52:40 +02:00
b7f7b68d72
add a page for export and explanations about some filters
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-27 13:04:16 +02:00
e8aeab1ac7
more templates in admin / generation document
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-27 13:03:58 +02:00
558461b3fb Transférer les fichiers vers 'admin/generation-documents-templates'
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-15 10:51:07 +00:00
e037b4fff8 Transférer les fichiers vers 'admin/generation-documents-templates'
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-15 10:50:36 +00:00
7e8b8bd2d4 Transférer les fichiers vers 'admin/generation-documents-templates'
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-15 10:15:37 +00:00
0e2b5b3201 Transférer les fichiers vers 'admin/generation-documents-templates'
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-14 09:39:24 +00:00
d4bb0bf552 Merge pull request 'Ajout des notifications sur les actions et les documents dans les évaluations + Household composition dans la génération de documents' (#4) from nouveautes-notifications into main
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Reviewed-on: #4
2023-05-22 07:39:27 +00:00
fcf088443b Merge branch 'main' into nouveautes-notifications
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-22 07:34:50 +00:00
02cf7861f3
Documentation for HouseholdComposition in doc generation
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-05-17 16:08:33 +02:00
b43db4a066
notifications dans les actions et évaluations
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-28 10:21:19 +02:00
44a37b9837
plus d'explication sur les parcours 2023-04-28 10:13:58 +02:00
996373775c
page nouveautes dans le manuels 2023-04-28 10:13:34 +02:00
361cca96a8 Merge pull request 'Parallelization of drone builds, where possible' (#3) from drone/parallelization into main
Some checks reported errors
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build was killed
Reviewed-on: #3
2023-04-27 21:06:51 +00:00
34af210f7f
parallelization
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-04-27 23:04:53 +02:00
476b0b31c1
fix generation
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-27 23:00:39 +02:00
b9a0949236
Explications changement de statut du parcours
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is failing
2023-04-27 22:57:20 +02:00
44deae9cee
Explanation for address not synchronized 2023-04-27 22:46:47 +02:00
47654378b4
ajout mention des exemples de modèle de documents
Some checks are pending
continuous-integration/drone/tag Build is running
continuous-integration/drone/push Build is passing
2023-03-06 11:43:54 +01:00
2178f99eee
Ajout gabarits de documents
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-06 11:42:02 +01:00
0e11e35caa
Fixed: [docgen] capture d'écran dans la génératio nde document
Some checks are pending
continuous-integration/drone/push Build is running
continuous-integration/drone/tag Build is running
2023-02-10 00:20:57 +01:00
9a90bb24dd
Fix: [docgen] correct image for insert renvoi
Some checks are pending
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is running
2023-02-10 00:12:38 +01:00
81610bcf52
admin/docgen: ré-ordonne les objets par ordre alphabétique + uniquement les objets pour toutes les instances
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-10 00:06:43 +01:00
ca7a42af0b
docgen: mise à jour des principes et utilisation dans Libre office
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-09 23:49:37 +01:00
c08df4ec8c replace variable name
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2022-10-19 21:44:47 +02:00
6120aee787 add missing doc for ThirdPartyProfession and ThirdPartyCategory and fixes delegation and tuteur 2022-10-19 21:44:47 +02:00
6d5a56c9b2 Documentation pour la date createdAtDate 2022-10-19 21:44:47 +02:00
3716e0e060 Document generation: add context "person with 3party" and fixes some
missing values in ThirdParty, Address
2022-10-19 21:44:47 +02:00
nobohan
019356f8c6 add field 'comment' in accompanyingperiodresource following issue 612
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 15:32:14 +02:00
058d7851f5 Fixed: do not try to publish manuel if no tag
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-07-12 00:36:33 +02:00
6a4e2ac8e3 Feature: page de démarrage de la configuration de chill #admin 2022-07-12 00:34:52 +02:00
38 changed files with 1964 additions and 481 deletions

View File

@ -18,12 +18,16 @@ steps:
commands:
- git lfs fetch
- git lfs checkout
depends_on:
- clone
- name: pandoc
image: pandoc/core:2.18-alpine
commands:
- sh build-pandoc.sh latex user > user/user-manual.tex
- sh build-pandoc.sh latex admin > admin/admin-manual.tex
depends_on:
- fetch images
- name: build-latex-user
image: texlive/texlive
@ -31,6 +35,8 @@ steps:
- cd user
- latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode -xelatex user-manual.tex
- mv user-manual.pdf ../Manuel\ utilisateur.pdf
depends_on:
- pandoc
- name: build-latex-admin
image: texlive/texlive
@ -38,6 +44,8 @@ steps:
- cd admin
- latexmk -pdf -file-line-error -halt-on-error -interaction=nonstopmode -xelatex admin-manual.tex
- mv admin-manual.pdf ../Manuel\ administrateur.pdf
depends_on:
- pandoc
- name: release
image: plugins/gitea-release
@ -49,11 +57,14 @@ steps:
- "Manuel administrateur.pdf"
- "Manuel utilisateur.pdf"
title: ${DRONE_TAG:=latest}
when:
event:
- tag
depends_on:
- build-latex-user
- build-latex-admin
when:
event:
- tag
---
kind: signature
hmac: dc200b08e09b83e734ff829ac62c7daf5f80986f725edac1b974b07793adb4b0
hmac: a83892d8f9bb967bd2a6335e2b34008e05f9bec482f270237c6764918434f97c
...

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
admin/generation-documents-templates/template parcours.odt (Stored with Git LFS) Normal file

Binary file not shown.

BIN
admin/generation-documents-templates/template personne.odt (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

View File

@ -11,7 +11,20 @@ Seuls les documents suivants peuvent être utilisés:
* .ods
* .odp
## Rappel du parcours des utilisateurs
Des exemples sont disponibles [en ligne](https://gitea.champs-libres.be/Chill-project/manuals/src/branch/main/admin/generation-documents-templates).
## Rappel de "l'expérience utilisateur": comment les utilisateurs génèrent un document ?
Les utilisateurs peuvent générer un document depuis plusieurs contextes du logiciel:
- les documents du dossier d'usager;
- les documents du parcours;
- les documents dans les évaluations;
- les activités / échanges;
- les rendez-vous.
Chaque contexte peut être dédiée à un usage précis. Par exemple, l'utilisateur peut générer une invitation à un rendez-vous depuis la page "rendez-vous". Depuis les évaluations, un formulaire officiel pourrait être pré-rempli. Et un document récapitulatif du parcours peut être généré dans ses documents.
Lors de la génération de document, les utilisateurs parcourrent trois étapes, dont l'un est optionnelle:
@ -21,7 +34,7 @@ Lors de la génération de document, les utilisateurs parcourrent trois étapes,
Ce formulaire est soit:
* natif au nœud. Dans ce cas, il apparait systématiquement ou dans certaines conditions;
* natif au contexte. Dans ce cas, il apparait systématiquement ou dans certaines conditions;
* configuré par l'admnistrateur fonctionnel parmi des options disponibles;
2. le document est effectivement généré en arrière-plan. Cela peut nécessiter éventuellement quelques secondes;
@ -29,11 +42,21 @@ Lors de la génération de document, les utilisateurs parcourrent trois étapes,
Notez que, pour que la redirection soit effective, l'utilisateur doit fermer **dans l'interface de l'éditeur**: fermer la fenêtre ou l'onglet fait perdre les informations de redirection - cependant, le document est normalement enregistré.
## Syntaxe de génération d'un document
## Préparation des documents
Les documents sont préparés par l'administrateur fonctionnel.
Les documents sont préparés par l'administrateur fonctionnel. Il s'agit d'un document "traitement de texte" (ou tableur, ou présentation).
## Indiquer un champ dans un document
Le document est préparé de manière habituelle: le texte y est écrit, le logo de l'association inséré, etc. Ensuite, l'administrateur définit certaines zones qui seront remplacées par des informations qui sont collectées dans le logiciel.
Le travail de préparation consiste à préciser les endroits où ces informations doivent être insérées: des champs spécifiques.
::: .note
Le fonctionnement de la génération de document est assez semblable au "publi-postage": des champs sont définis dans le document, et le logiciel de traitement de texte vient les remplacer par ceux provenant d'une base de donnée.
:::
## Indiquer un champ dans un document en utilisant Libre Office
Aux endroits où cela est nécessaire, l'administrateur indique un "champ substituant".
@ -41,58 +64,90 @@ 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.
## Principes liés au variables
![Menu Insertion > Renvoi dans LibreOffice](./img/generation-document/libre-office-insert-renvoi.png)
### Nommage de variables
TODO
#### Exemple: application aux objets "date"
Les dates sont disponibles dans deux formats:
* le format "court", ou dd/mm/yyyy (par exemple, 15/06/1980, 18/08/2021, …). Ce format est accessible par le champ `short`;
* le format "long": 15 juin 1980, 18 août 2021, … Ce format est accessible par le champ `long`;
lorsqu'une date est disponible, il est donc possible d'avoir accès à son format en précisant sa chaine de caractère. Exemple avec la date de naissance de la personne:
```
person.Birthdate.Short=15/06/1980
person.Birthdate.Long=15 juin 1980
```
![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)
### Cas où une variable est optionnelle
## Nature (type) des variables
Lorsqu'une variable est optionnelle, si sa valeur est inconnue ou vide, alors tout ses champs apparaissent avec une chaine de caractère vide.
Pour chaque contexte où un document est généré, les variables disponibles sont listées [dans la section suivante](#sec:gendoc-champs-documents).
L'arbre des variables est toujours identique, sur toute la profondeur de celles-ci. L'administrateur est garanti qu'un champ existera, même si sa valeur n'est pas présente dans la base de donnée.
Chaque variable comporte un type: il peut s'agir de:
## Variables disponibles par document
- un nombre;
- un texte;
- un bouléen (`vrai` ou `faux`)
- un objet;
- ou une liste d'objets, de nombres, ou de textes.
Pour chaque contexte où un document est généré, les variables disponibles sont listées [dans la section suivante](#sec:gendoc-champs-documents). Le type des variables est indiqué.
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 pour chaque type sont décrites [dans la section suivante](#sec:gendoc-champs-objets):
* si le type commence par une majuscule, alors cette variable comporte des sous-champs, et il faut se reporter à la description des variables pour ce type;
* 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:
* s'il s'agit d'un booléen (`bool`), le champ peut être utilisé dans des tests;
* les champs `text` et `int` peuvent faire l'objet de test sur l'égalité;
* les champs de type `int` peuvent faire l'objet de comparaison sur l'ordre de grandeur (par exemple, le champs `age` des objets de type `Person` peut être filtré `> 18` ou `< 18` pour distinguer les adultes des enfants).
### Pour chaque document { #sec:gendoc:champs-documents }
### Cas où le contenu d'une variable est vide
#### Paramètres pour l'administrateur fonctionnel
Si une variable est vide, alors tout ses champs apparaissent avec une chaine de caractère vide.
Les administrateurs fonctionnels peuvent activer les paramètres suivants:
L'arbre des variables est toujours identique, sur toute la profondeur de celles-ci. L'administrateur est garanti qu'un champ existera, même si sa valeur n'est pas présente dans la base de donnée.
* un champ "lieu", qui permettra de choisir parmi les lieux pré-enregistrés. Le lieu pré-sélectionné sera celui choisi par l'utilisateur;
### Exemple: la date de naissance d'une personne
Dans le contexte "personne", les informations de la personne sont disponibles sous le champ `v.person`. Il s'agit d'un objet de type `Person` qui comporte une sous-variable appelée `birthdate`, qui est lui-même disponible dans un objet de type `Date`.
Les objets `Date` proposent deux sous-champs, qui correspondent au format de la date:
* le format "court", ou dd/mm/yyyy (par exemple, 15/06/1980, 18/08/2021, …). Ce format est accessible par le champ `short`;
* le format "long": 15 juin 1980, 18 août 2021, … Ce format est accessible par le champ `long`;
Donc, pour insérer la date de naissance, on utilisera les substituants suivants:
```
v.person.birthdate.short
v.person.birthdate.long
```
Ce qui donnera (pour une personne née le 15 décembre 1980):
```
15/12/1980
15 décembre 1980
```
Si, par contre, la date de naissance de la personne n'est pas renseignée, deux lignes vides s'afficheront dans le document:
```
```
## Paramètres pour l'administrateur fonctionnel
Pour chaque gabarit, l'administrateur peut activer certaines options. Par exemple:
* permettre de sélectionner une personne parmi les usagers du parcours;
* configurer le libellé qui s'affichera pour l'utilisateur devant l'usager.
Les options disponibles dépendent du contexte.
Par exemple, pour un courrier généré dans un contexte "parcours", l'utilisateur pourra choisir un usager du parcours pour un courrier; l'administrateur indiquera qu'il s'agira du "destinataire" du courrier. Tandis que pour un formulaire officiel, l'administrateur configurera un "demandeur" et "co-demandeur", et ce sont ces libellés qui s'afficheront.
## Variables par contexte
### Pour tous les contextes { #sec:gendoc:champs-documents }
#### Variables
* `creator`: (User) le créateur;
* `createdAt` (Date): la date de création;
* `createdAt` (Date): la date et l'heure de création;
* `createdAtDate` (Date): la date de la création (sans l'heure). Utilisable pour indiquer la date d'un courrier, par exemple;
* `location` (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
@ -103,7 +158,8 @@ Les administrateurs fonctionnels peuvent activer les paramètres suivants:
* un champ "usager 1", qui permet ensuite à l'utilisateur de choisir un usager parmi ceux concernés par le parcours, les interlocuteurs privilégiés qui sont des usagers (à l'exclusion des tiers), et les personnes ressources associées à un usager concerné du parcours (à l'exclusion des ressources tiers et "texte libre");
* un champ "usager 2", qui permet aux utilisateurs de choisir un deuxième usager parmis ceux concernés par le parcours, les interlocuteurs privilégiés qui sont des usagers (à l'exclusion des tiers), et les personnes ressources associées à un usager concerné du parcours (à l'exclusion des ressources tiers et "texte libre");
* un champ "usager principal du parcours", qui permet, cette fois, de choisir parmi les usagers concernés par le parcours,, les interlocuteurs privilégiés qui sont des usagers (à l'exclusion des tiers), et les personnes ressources associées à un usager concerné du parcours (à l'exclusion des ressources tiers et "texte libre");
* un champ "usager principal du parcours", qui permet, cette fois, de choisir parmi les usagers concernés par le parcours, les interlocuteurs privilégiés qui sont des usagers (à l'exclusion des tiers), et les personnes ressources associées à un usager concerné du parcours (à l'exclusion des ressources tiers et "texte libre");
* un champ "tiers", qui permet de choisir un tiers parmi les tiers "personnes ressources" du parcours, ou le demandeur du parcours (s'il s'agit d'un tiers);
#### Variables
@ -113,6 +169,7 @@ Le document présente:
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* une variable `thirdParty`, de type `ThirdParty`, uniquement si l'administrateur fonctionnel l'a configuré.
### Document générés pour un parcours, contexte "liste des activités"
@ -132,6 +189,7 @@ Le document présente:
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* une variable `thirdParty`, de type `ThirdParty`, uniquement si l'administrateur fonctionnel l'a configuré.
### Document générés pour un échange
@ -147,26 +205,35 @@ Il est possible également d'injecter des dossiers d'usagers, parmi ceux associ
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Documents générés dans le dossier d'une personne
### Documents générés dans le dossier d'une personne: contexte "personne basique"
* une variable `person`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`.
* une variable `person`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* une variable `thirdParty`, de type `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"
Ce contexte permet de générer un courrier avec, en paramètre, un tiers.
Cela peut être utile pour, par exemple, générer un courrier vers un tiers déjà enregistré dans la base de donnée de Chill.
Les variables disponibles sont les suivantes:
* une variable `person`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`.
* une variable `thirdParty`, de type `ThirdParty`;
### Document générés dans un contexte "rendez-vous"
Les champs suivant sont disponibles:
* une variable `calendar` (Calendar), qui contient les données du rendez-vous;
* une variable `mainPerson` (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): un tiers participant au rendez-vous. Cette variable n'est présente que si l'administrateur fonctionnel l'a configurée.
## Principes liés au variables
## Champs par objet { #sec:gendoc-champs-objets }
Les champs ci-dessous étendent les variables disponibles dans les documents.
Par exemple, le document généré à partir d'un parcours présente la variable `startDate` qui contient la date de début du parcours. Ce champ peut être exploité de la manière suivante:
```
${courseStartDateLong} // 15 janvier 2021
ou dans la forme courte:
${courseStartDateShort} // 15/01/2021
```
### AccompanyingPeriod
### AccompanyingPeriod (Parcours)
* `id` (texte): l'identifiant du parcours
* `type` (texte): toujours égal à `accompanying_course`
@ -212,20 +279,22 @@ ${courseStartDateShort} // 15/01/2021
* `comments` (liste de AccompanyingPeriodComment): liste des commentaires;
* `pinnedComment` (AccompanyingPeriodComment): commentaire épinglé;
### AccompanyingPeriodComment
### AccompanyingPeriodComment (Commentaire du parcours)
* `id` (int): identifiant
* `content` (texte): contenu du commentaire
* `createdAt` (Date): date de création
* `creator` (User): Créateur du commentaire
### AccompanyingPeriodOrigin
### AccompanyingPeriodOrigin (Origine du parcours)
* `id` (int): identifiant;
* `label` (texte): libellé de l'origine;
### AccompanyingPeriodParticipation
### AccompanyingPeriodParticipation (Participation à un parcours)
Cet objet effectue la jointure entre les parcours et les usagers concernés à un parcours. Elle permet d'avoir accès à des informations supplémentaires, comme la date de début et l'éventuelle date de fin de la participation à un parcours.
* `id` (int): identifiant
* `person` (Person): usager associé au parcours;
@ -233,11 +302,50 @@ ${courseStartDateShort} // 15/01/2021
* `endDate` (Date): date de fin. Vide si la participation est toujours en cours;
### AccompanyingPeriodResource
### AccompanyingPeriodResource (Interlocuteur privilégiés dans un parcours)
* `id` (int): identifiant;
* `person` (Person): usager ressource (vide, avec le paramètre `isNull` à `true`, si la ressource est un tiers);
* `thirdParty` (ThirdParty): tiers ressource (vide, avec le paramètre `isNull` à `true`, si la ressource est une personne);
* `comment` (texte): commentaire associé à la personne ressource.
### AccompanyingPeriodWork (Action d'accompagnement)
* `id` (texte): l'identifiant de l'action;
* `note` (texte): la note;
* `persons` (liste de Person): liste des usagers concernés par l'action
* `results` (liste de Result): liste des résultats directement associé au parcours (résultats sans objectifs)
* `socialAction` (SocialAction): type d'action sociale;
* `startDate` (Date): la date de début de l'action (vide si inexistant)
* `endDate` (Date): la date de début de l'action (vide si inexistant)
* `thirdParties` (liste de ThirdParty): les tiers associés à l'action comme tiers intervenants;
* `updatedBy` (User): utilisateur ayant fait la mise à jour;
* `updatedAt` (Date): date de mise à jour;
* `handlingThierParty` (ThirdParty): tiers traitant;
* `goals` (AccompanyingPeriodWorkGoal): objectifs
* `createdBy` (Date): date de mise à jour;
* `createdAt` (User): utilisateur ayant fait la mise à jour;
* `createdAutomatically` (bool): `true` si l'action a été créée automatiquement (par exemple, en créant un échange);
* `evaluations` (AccompanyingPeriodWorkEvaluation): liste des évaluations générées;
* `referrers` (liste de User): liste des agents traitants;
### AccompanyingPeriodWorkEvaluation (évaluation dans une action d'accompagnement)
* `id` (texte): l'identifiant de l'évaluation;
* `type` (texte): le libellé de l'évaluation;
* `startDate` (Date): la date de début de l'évaluation;
* `endDate` (Date) la date de fin de l'évaluation;
* `maxDate` (Date): la date d'échéance de l'évaluation;
* `comment` (texte): le commentaire de l'évaluation;
* `createdBy` (User): le créateur de l'évaluation;
* `createdAt` (Date): la date de création de l'évaluation;
* `evaluation` (Evaluation): le type d'évaluation;
### AccompanyingPeriodWorkGoal (objectifs et résultats d'une action d'accompagnement)
* `id` (texte): identifiant
* `goal` (Goal): objectif d'une action
* `results` (liste de Result): liste des résultats
### Activity (échange)
@ -271,32 +379,154 @@ Ce variant comporte les mêmes attributs, avec les différences suivantes:
* le champ `reasons` n'est pas présent;
* le champ `comment` est également présenté avec le variant `light`.
### ActivityType
### ActivityType (Type d'activité)
Type d'activité.
* `id` (int): identifiant;
* `name` (texte): libellé
### ActivityPresence
### ActivityPresence (Présence à l'échange)
Présence à l'échange
* `id` (int): identifiant;
* `name` (texte): libellé
### ClosingMotive
### Address (Une adresse)
* `address_id` (int): l'identifiant de l'adresse;
* `text` (texte): une chaine de caractère représentant l'adresse complète;
* `street` (texte): le nom de la rue (exemple: "RUE DES ÉGLANTIERS");
* `streetNumber` (texte): le numéro de police;
* `postcode` (PostCode): le code postal;
* `country` (Country): le pays de l'adresse;
* `floor` (texte): l'étage;
* `corridor` (texte): le couloir;
* `flat` (texte): l'appartement;
* `buildingName` (texte): le nom du bâtiment / résidence;
* `distribution` (texte): service particulier de distribution;
* `extra` (texte): champs extras
* `validFrom` (Date): date de début de validité;
* `validTo` (Date): date de fin de validité (vide si toujours valide);
* `lines` (liste de texte): les lignes de l'adresses, comme elles devraient être formatées dans une adresses
Il est possible de représenter l'adresse au format postal en effectuant une boucle sur les lignes. Par exemple, pour l'adresse d'une personne (chaque ligne est un "renvoi > substituant" dans l'exemple ci-dessous):
```
for each="line in v.person.address.lines
line
/for
```
### Comment (Commentaire)
Certains champs commentaire enregistrent également l'utilisateur qui a effectué la dernière mise à jour, et la date de celle-ci, en plus du commentaire en tant que tel. Ces champs ont les attributs suivants:
* `comment` (texte): le commentaire en tant que tel;
* `date` (Date): la date de la dernière modification;
* `user` (User): l'utilisateur qui a effectué la dernière modification;
#### Variant `light`
Dans le variant `light`,
* le champ `date` n'est pas présent;
* le champ `user` n'est pas présent.
Seul le champ `comment` est donc disponible.
### Civility (Civilité)
* `abbreviation` (texte): abbréviation;
* `id` (int): identifiant (utile pour des comparaisons);
* `name` (texte): titre, label de la civilité;
### ClosingMotive (Motif de cloture)
* `id` (int): identifiant;
* `name` (texte): libellé
### Date
### Country (Pays)
* `id` (int): identifiant
* `name` (texte): nom du pays
* `code` (texte): deux lettres du code ISO pays
### Date (Date)
* `short` (texte): la date au format dd/mm/yyyy, vide si la date est absente;
* `long` (texte): la date au format jour mois années: 15 août 1980, vide si al date est absente;
### Person
### Evaluation (type d'évaluation)
* `id` (texte): l'identifiant du type d'évaluation;
* `title` (texte): le titre du type d'évaluation;
### Goal (objectif d'une action)
* `id` (texte): identifiant
* `title` (texte): le titre du résultat
### Household (Ménage)
* `id` (int): l'identifiant du ménage;
* `current_address` (Adress) : adresse actuelle du ménage
* `current_composition` (HouseholdComposition): Composition **actuelle** du ménage
* `currentMembers` (liste de HouseholdMember): liste des membres **actuels** du ménage;
* `members` (liste de HouseholdMember): liste des membres du ménages. Cette liste inclut également les anciens membres;
* `waitingForBirth` (bool): `true` si une naissance est attendue;
* `waitingForBirthDate` (Date): date de la naissance attendue;
### HouseholdComposition
La composition du ménage entre deux dates. Cette entité associe une `HouseholdCompositionType` avec une date de début et une date de fin
* `id` (int): L'identifiant de la composition
* `startDate` (Date): date de début de validité de la composition du ménage;
* `endDate` (Date): date de fin de validité de la composition du ménage (vide si actif)
* `numberOfChildren` (int): nombre d'enfants
* `householdCompositionType` (HouseholdCompositionType): Type de composition choisie, entre deux dates
### HouseholdCompositionType
* `id` (int): L'identifiant du type de composition
* `label` (texte): Le libellé de la composition
### HouseholdMember (Membre d'un ménage)
* `comment` (texte): texte du commentaire;
* `id` (int): identifiant de la participation au ménage;
* `endDate` (Date): date de fin de participation au ménage;
* `holder` (bool): `true` si le participant est titulaire;
* `person` (Person): l'usager qui est membre du ménage;
* `position` (HouseholdPosition): la position du membre dans le ménage;
* `startDate` (Date): date de début de participation au ménage;
### HouseholdPosition (Position du membre dans le ménage)
* `id` (int): identifiant de la position;
* `label` (texte): label de la position dans le ménage;
### Location (lieu)
* `id` (int): identifant;
* `name` (texte): nom;
* `address` (Address): adresse du lieu;
* `phonenumber1` (texte): numéro de téléphone;
* `phonenumber2` (texte): numéro de téléphone;
* `email` (email): email
* `locationType` (LocationType): le type de lieu
### LocationType (type de lieu)
* `id` (int): identifant;
* `title` (texte): titre du type de lieu;
### Person (Personne, usager)
* `id` (texte): Identifiant du dossier usager;
* `isNull` (bool): `true` si le dossier usager est vide;
@ -323,150 +553,6 @@ Présence à l'échange
* `address` (Adresse): l'adresse actuelle
* `resources` (PersonResource): les personnes ressources, ajoutées depuis le dossier de l'usager.
::: { .vendee }
Au 23 mars 2022, ces champs ne sont plus disponibles:
* `numCaf` (texte): le numéro CAF;
* `numSS` (texte): le numéro de sécurité sociale;
* `numMSA` (texte): le numéro MSA;
* `mutuelle` (texte): le nom de la mutuelle
* `doctor` (ThirdParty): le médecin traitant;
* `situationProf` (texte): la situation professionnelle;
* `situationProfDate` (Date): date de la situation professionnelle;
Par ailleurs, la nature de ces champs a changé:
* `statutLogement`
* `niveauEtude`
Ces champs sont disponibles, dès le 22 mars:
* `extras.majeur.isNull` (bool): si un dossier "majeur" a été créé
* `extras.majeur.numeroCAF` (texte): le numéro CAF;
* `extras.majeur.numeroSecuriteSociale` (texte): le numéro de sécurité sociale;
* `extras.majeur.numMSA` (texte): le numéro MSA;
* `extras.majeur.mutuelle` (texte): le nom de la mutuelle
* `extras.majeur.medecinTraintant` (ThirdParty): le médecin traitant;
* `extras.majeur.situationProfessionelle` (texte): la situation professionnelle;
* `extras.majeur.situationProfessionelleComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.situationProfessionelleStartDate` (Date)
* `extras.majeur.statutLogement` (StatutLogement): statut au regard du logement;
* `extras.majeur.niveauEtude` (NiveauEtude): le niveau d''étude;
* `extras.majeur.identifiantPoleEmploi` (texte)
* `extras.majeur.accompagnementMissionLocale` (texte)
* `extras.majeur.gensDuVoyage` (bool): `true` si la personne fait partie des gens du voyage
* `extras.majeur.titreDeSejour` (TitreDeSejour): entité TitreDeSejour
* `extras.majeur.titreDeSejourComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.situationProfessionelle` (SituationProfessionelle): entité SituationProfessionelle
* `extras.majeur.aidantFamilial` (bool): `true` si la personne fait partie des gens du voyage
* `extras.majeur.tempsDeTravail` (TempsDeTravail): entité TempsDeTravail
* `extras.majeur.niveauEtude` (NiveauEtude): entité NiveauEtude
* `extras.majeur.mobilite` (mMbilite): entité Mobilite
* `extras.majeur.permisDeConduire` (bool): `true` si la personne a un permis de conduire
* `extras.majeur.moyenDeTransport` (bool): `true` si la personne a un moyen de transport
* `extras.majeur.infoSocioProComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.entourage` (Entourage): entité Entourage
* `extras.majeur.entourageComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.numeroSecuriteSociale` (texte)
* `extras.majeur.caisseSecuriteSociale` (texte)
* `extras.majeur.pasDeMedecinTraitant` (bool): `true` si la personne n'a pas de médecin traitant
* `extras.majeur.medecinTraitant` (Tiers): entité ThirdParty
* `extras.majeur.medecinTraitantTexteLibre` (texte)
* `extras.majeur.mdph` (texte)
* `extras.majeur.mdphStartDate` (Date)
* `extras.majeur.mdphEndDate` (Date)
* `extras.majeur.mdphComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.aah` (texte)
* `extras.majeur.aahStartDate` (Date)
* `extras.majeur.aahEndDate` (Date)
* `extras.majeur.aahComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.rqth` (texte)
* `extras.majeur.rqthStartDate` (Date)
* `extras.majeur.rqthEndDate` (Date)
* `extras.majeur.rqthComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.pcdh` (texte)
* `extras.majeur.pcdhStartDate` (Date)
* `extras.majeur.pcdhEndDate` (Date)
* `extras.majeur.pcdhComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.adpa` (texte)
* `extras.majeur.adpaStartDate` (Date)
* `extras.majeur.adpaEndDate` (Date)
* `extras.majeur.adpaComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.gir` (texte)
* `extras.majeur.girStartDate` (Date)
* `extras.majeur.girEndDate` (Date)
* `extras.majeur.girComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.infoMedicaleComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.statutLogement` (StatutLogement): entité StatutLogement
* `extras.majeur.statutLogementComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.caisseDeRetraitePrincipale` (texte)
* `extras.majeur.caisseDeRetraiteComment` (Comment): Commentaire (avec la date de la dernière mise à jour)
* `extras.majeur.caisseDeRetraiteComplementaire` (liste de texte): les caisses de retraite complémentaires, en liste de texte;
* `extras.majeur.caissesDeRetraiteComplementairesText` (texte): les caisses de retraite complémentaires, dans un seul champ texte, séparé par des virgules;
En outre, si la personne est mineure, on a accès aux champs suivants:
* `extras.majeur.isNull` (bool): si un dossier "mineur" a été créé
* `extras.mineur.enfantConfie` (bool): `true` si enfant confié
* `extras.mineur.dossierASE` (texte)
* `extras.mineur.autoriteParentale` (texte)
* `extras.mineur.autoriteParentaleComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.identificationAutoriteParentale1` (texte)
* `extras.mineur.identificationAutoriteParentale2` (texte)
* `extras.mineur.autoriteParentale1Date` (Date)
* `extras.mineur.autoriteParentale2Date` (Date)
* `extras.mineur.retraitAutoriteParentale` (bool): `true` si retraitAutoriteParentale
* `extras.mineur.retraitAutoriteParentaleDate` (Date)
* `extras.mineur.retraitAutoriteParentaleComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.delegation` (bool): `true` si délégation
* `extras.mineur.delegationDate` (Date)
* `extras.mineur.delegationComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.delegationThirdParty` (tiers): entité ThirdParty
* `extras.mineur.delegationPerson` (person): entité Person
* `extras.mineur.tuteur` (texte)
* `extras.mineur.tuteurThirdParty` (tiers): entité ThirdParty
* `extras.mineur.administrateurAdhoc` (bool): `true` si administrateurAdhoc
* `extras.mineur.administrateurAdhocDate` (Date)
* `extras.mineur.administrateurAdhocComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.pupilleEtat` (bool): `true` si pupilleEtat
* `extras.mineur.pupilleEtatDate` (Date)
* `extras.mineur.pupilleComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.tuteurPerson` (person): entité Person
* `extras.mineur.enfantEmancipe` (bool): `true` si enfantEmancipe
* `extras.mineur.enfantEmancipeDate` (Date)
* `extras.mineur.gardeAlternee` (bool)
* `extras.mineur.decisionJAF` (bool): `true` si decisionJAF
* `extras.mineur.decisionJAFDate` (Date)
* `extras.mineur.decisionJAFEnfantConfie` (bool): `true` si decisionJAFEnfantConfie
* `extras.mineur.decisionJAFDateEnfantConfie` (Date)
* `extras.mineur.fratrieComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.droitDeVisiteComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.infoFamilialeComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.residenceMineur` (texte)
* `extras.mineur.derniereVisiteMedicaleDate` (Date)
* `extras.mineur.visiteMedicaleText` (texte)
* `extras.mineur.prochaineVisiteMedicaleDate` (Date)
* `extras.mineur.autresRDV` (texte)
* `extras.mineur.infoMedicaleComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.scolarise` (bool): `true` si scolarisé
* `extras.mineur.derniereClasseScolaire` (texte)
* `extras.mineur.etablissementScolaire` (texte)
* `extras.mineur.classeScolaire` (texte)
* `extras.mineur.alternance` (bool): `true` si alternance
* `extras.mineur.alternanceEntreprise` (texte)
* `extras.mineur.enseignantReferant` (texte)
* `extras.mineur.scolariteComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.mineurComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.autresIntervenantsComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.dispositifs` (texte)
* `extras.mineur.dossierMDPH` (texte)
* `extras.mineur.notificationMDPH` (texte)
* `extras.mineur.notificationMDPHStartDate` (Date)
* `extras.mineur.notificationMDPHEndDate` (Date)
* `extras.mineur.dispositifsComment` (Comment): Commentaire (avec la date de la dernire mise à jour)
* `extras.mineur.adresseDeRelais` (adresse): liste d'adresses
:::
#### variant `household`
* `household` (Household): le ménage actuel de l'usager;
@ -516,20 +602,6 @@ Les attributs suivants sont disponibles, pour chaque objet `Person` qui a un var
* `budget.household.resources.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la ressource dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Les lignes de budget de tous les usagers actuels du ménages sont globalisées, ainsi que les lignes de budget associées directement au dossier ménage;
* `budget.household.charges.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la charge dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Les lignes de budget de tous les usagers actuels du ménages sont globalisées, ainsi que les lignes de budget associées directement au dossier ménage;
#### Exemple d'utilisation
```
Nom de la personne: ${personLastname} // Dupuis
Prénom de la personne: ${personFirstname} // Gérard
Date de naissance: ${personBirthdateLong} // le 7 juillet 1974
Nom du père: ${personFatherLastName} ${personFatherFirstname} // Dupuis Marcel
Téléphone du père: ${personFatherFirstphonenumber} // 01 23 45 67 89
```
::: { .vendee }
### PersonResource (Ressources associée à l'usager)
Pour rappel, les ressources peuvent être:
@ -550,164 +622,14 @@ Pour rappel, les ressources peuvent être:
### PersonResourceKind (Type de personne ressource)
* `id` (int)
* `title` (texte)
* `title` (texte)
### StatutLogement
* `id` (int): identifiant (utile pour des comparaisons);
* `active` (bool): si le statut est encore utilisé;
* `name` (texte): titre
### NiveauEtude
* `id` (int): identifiant (utile pour des comparaisons);
* `active` (bool): si le niveau d'étude est encore utilisé;
* `name` (texte): titre
### SituationProfessionelle
* `id` (int): identifiant (utile pour des comparaisons);
* `active` (bool): si la situation professionelle est encore utilisée
* `name` (texte): titre
:::
### Civility
* `abbreviation` (texte): abbréviation;
* `id` (int): identifiant (utile pour des comparaisons);
* `name` (texte): titre, label de la civilité;
::: { .vendee }
### Entourage
* `person` (person): entité Person
* `thirdParty` (tiers): entité ThirdParty
* `text` (texte)
* `comment` (comment): Commentaire (avec la date de la dernire mise à jour)
* `aidantProche` (bool): `true` si aidantProche
:::
### Household
* `id` (int): l'identifiant du ménage;
* `members` (liste de HouseholdMember): liste des membres du ménages;
* `waitingForBirth` (bool): `true` si une naissance est attendue;
* `waitingForBirthDate` (Date): date de la naissance attendue;
### HouseholdMember
* `comment` (texte): texte du commentaire;
* `id` (int): identifiant de la participation au ménage;
* `endDate` (Date): date de fin de participation au ménage;
* `holder` (bool): `true` si le participant est titulaire;
* `person` (Person): l'usager qui est membre du ménage;
* `position` (HouseholdPosition): la position du membre dans le ménage;
* `startDate` (Date): date de début de participation au ménage;
### HouseholdPosition
* `id` (int): identifiant de la position;
* `label` (texte): label de la position dans le ménage;
::: { .vendee }
### Mobilite, NiveauEtude, SituationProfessionelle, StatutLogement, TempsDeTravail, TitreDeSejour
* `active` (bool): `true` si active
* `name` (texte)
:::
### ThirdParty
* `id` (int): identifiant du tiers;
* `acronym` (text): acronyme;
* `address` (Adress): adresse du tiers
* `categories` (liste de ThirdPartyCategory): liste des catégories;
* `civility` (Civility): civilité
* `contactDataAnonymous` (bool): `true` si le tiers est anonyme;
* `email` (texte): email;
* `name` (texte): nom du tiers;
* `nameCompany` (texte): nom du service du tiers (pour une personne morale);
* `parent` (ThirdParty): tiers parent (pour les contacts)
* `profession` (ThirdPartyProfession)
* `telephone` (texte): numéro de téléphone du tiers
### ThirdPartyCategory (catégorie de tiers)
TODO
### ThirdPartyProfession (profession du tiers)
TODO
### Adresse
* `address_id` (int): l'identifiant de l'adresse;
* `text` (texte): une chaine de caractère représentant l'adresse complète;
* `street` (texte): le nom de la rue (exemple: "RUE DES ÉGLANTIERS");
* `streetNumber` (texte): le numéro de police;
* `postcode` (PostCode): le code postal;
* `country` (Country): le pays de l'adresse;
* `floor` (texte): l'étage;
* `corridor` (texte): le couloir;
* `flat` (texte): l'appartement;
* `buildingName` (texte): le nom du bâtiment / résidence;
* `distribution` (texte): service particulier de distribution;
* `extra` (texte): champs extras
* `validFrom` (Date): date de début de validité;
* `validTo` (Date): date de fin de validité (vide si toujours valide);
### Postcode
### Postcode (Code Postal)
* `id` (int): identifiant
* `name` (texte): localité
* `code` (texte): code postal
### Country
* `id` (int): identifiant
* `name` (texte): nom du pays
* `code` (texte): deux lettres du code ISO pays
### User { #sec:gendoc-var-user }
* `id` (int): identifant
* `type` (texte): vaut toujours `user`
* `username` (texte): le login
* `email` (texte): l'email de l'utilisateur
* `text` (texte): le libellé complet de l'utilisateur (avec son métier et son service entre parenthèse);
* `label` (texte): le libellé de l'utilisateur, tel qu'il est enregistré par l'administrateur fonctionnel
* `main_scope` (Scope): service principal
* `user_job.label` (texte): métier principal
* `current_location` (Location): lieu de l'utilisateur, celui actuellement choisi par l'utilisateur par le menu "utilisateur";
* `main_location` (Location): localisation de l'utilisateur définie par l'administrateur fonctionnel (parfois appelé "résidence administrative"). L'utilisateur ne peut pas la modifier lui-même;
* `civility` (Civility): la civilité de l'utilisateur;
### Location (lieu)
* `id` (int): identifant;
* `name` (texte): nom;
* `address` (Address): adresse du lieu;
* `phonenumber1` (texte): numéro de téléphone;
* `phonenumber2` (texte): numéro de téléphone;
* `email` (email): email
* `locationType` (LocationType): le type de lieu
### LocationType (type de lieu)
* `id` (int): identifant;
* `title` (texte): titre du type de lieu;
### Social Issue (problématique sociale)
* `name`: le nom de la problématique seule
* `text`: le nom de la problématique et des problématiques parentes
### Relationship (relations (filiations) entre usagers)
Pour faciliter l'usager, les relations sont toujours représentée à partir d'un usager d'origine.
@ -723,42 +645,11 @@ Les variables présentent le nom de la relation (`text`), et la personne avec qu
**Note**: la différence entre `fromPerson` et `toPerson` est arbitraire.
### AccompanyingPeriodWorkEvaluation (évaluation dans une action d'accompagnement)
### Result (résultat d'une action)
* `id` (texte): l'identifiant de l'évaluation;
* `type` (texte): le libellé de l'évaluation;
* `startDate` (Date): la date de début de l'évaluation;
* `endDate` (Date) la date de fin de l'évaluation;
* `maxDate` (Date): la date d'échéance de l'évaluation;
* `comment` (texte): le commentaire de l'évaluation;
* `createdBy` (User): le créateur de l'évaluation;
* `createdAt` (Date): la date de création de l'évaluation;
* `evaluation` (Evaluation): le type d'évaluation;
* `id` (texte): identifiant
* `title` (texte): le titre du résultat
### Evaluation (type d'évaluation)
* `id` (texte): l'identifiant du type d'évaluation;
* `title` (texte): le titre du type d'évaluation;
### AccompanyingPeriodWork (Action d'accompagnement)
* `id` (texte): l'identifiant de l'action;
* `note` (texte): la note;
* `persons` (liste de Person): liste des usagers concernés par l'action
* `results` (liste de Result): liste des résultats directement associé au parcours (résultats sans objectifs)
* `socialAction` (SocialAction): type d'action sociale;
* `startDate` (Date): la date de début de l'action (vide si inexistant)
* `endDate` (Date): la date de début de l'action (vide si inexistant)
* `thirdParties` (liste de ThirdParty): les tiers associés à l'action comme tiers intervenants;
* `updatedBy` (User): utilisateur ayant fait la mise à jour;
* `updatedAt` (Date): date de mise à jour;
* `handlingThierParty` (ThirdParty): tiers traitant;
* `goals` (AccompanyingPeriodWorkGoal): objectifs
* `createdBy` (Date): date de mise à jour;
* `createdAt` (User): utilisateur ayant fait la mise à jour;
* `createdAutomatically` (bool): `true` si l'action a été créée automatiquement (par exemple, en créant un échange);
* `evaluations` (AccompanyingPeriodWorkEvaluation): liste des évaluations générées;
* `referrers` (liste de User): liste des agents traitants;
### SocialAction (type d'action d'accompagnement)
@ -766,36 +657,63 @@ Les variables présentent le nom de la relation (`text`), et la personne avec qu
* `text` (texte): texte, avec les parents inclus, séparés par un ` > `;
* `title`: titre du type d'action, sans les parents;
### Result (résultat d'une action)
### Social Issue (problématique sociale)
* `id` (texte): identifiant
* `title` (texte): le titre du résultat
* `name`: le nom de la problématique seule
* `text`: le nom de la problématique et des problématiques parentes
### Goal (objectif d'une action)
### ThirdParty (Tiers)
* `id` (texte): identifiant
* `title` (texte): le titre du résultat
* `id` (int): identifiant du tiers;
* `acronym` (text): acronyme;
* `address` (Adress): adresse du tiers
* `categories` (liste de ThirdPartyCategory): liste des catégories;
* `civility` (Civility): civilité
* `contactDataAnonymous` (bool): `true` si le tiers est anonyme;
* `email` (texte): email;
* `name` (texte): nom du tiers;
* `firstname` (texte): Prénom du tiers;
* `parent` (ThirdParty): tiers parent (pour les contacts)
* `profession` (ThirdPartyProfession)
* `telephone` (texte): numéro de téléphone du tiers
* `kind` (texte): permet de distinguer les personnes morales, les contacts et les personnes physiques (voir ci-après)
* `child` (bool) vaut TRUE s'il existe un parent (contact), false sinon;
* `parent` (ThirdParty): s'il s'agit d'un contact d'une personne morale, contient la fiche d'une personne morale
### AccompanyingPeriodWorkGoal (objectifs et résultats d'une action d'accompagnement)
* `id` (texte): identifiant
* `goal` (Goal): objectif d'une action
* `results` (liste de Result): liste des résultats
`kind` vaut:
### Comment
* `company` lorsqu'il s'agit d'une personne morale
* `child` lorsuq'il s'agit d'un contact d'une personne morale
* `contact` lorsqu'il s'agit d'une personne **physique** (à ne pas confondre avec un contact d'une personne morale)
Certains champs commentaire enregistrent également l'utilisateur qui a effectué la dernière mise à jour, et la date de celle-ci, en plus du commentaire en tant que tel. Ces champs ont les attributs suivants:
### ThirdPartyCategory (catégorie de tiers)
* `comment` (texte): le commentaire en tant que tel;
* `date` (Date): la date de la dernière modification;
* `user` (User): l'utilisateur qui a effectué la dernière modification;
* `id` (int): identifiant
* `name` (texte)
#### Variant `light`
Dans le variant `light`,
### ThirdPartyProfession (profession du tiers)
* le champ `date` n'est pas présent;
* le champ `user` n'est pas présent.
* `id` (int): identifiant
* `name` (texte)
Seul le champ `comment` est donc disponible.
### User (Utilisateur) { #sec:gendoc-var-user }
* `id` (int): identifant
* `type` (texte): vaut toujours `user`
* `username` (texte): le login
* `email` (texte): l'email de l'utilisateur
* `text` (texte): le libellé complet de l'utilisateur (avec son métier et son service entre parenthèse);
* `label` (texte): le libellé de l'utilisateur, tel qu'il est enregistré par l'administrateur fonctionnel
* `main_scope` (Scope): service principal
* `user_job` (UserJob): métier principal
* `current_location` (Location): lieu de l'utilisateur, celui actuellement choisi par l'utilisateur par le menu "utilisateur";
* `main_location` (Location): localisation de l'utilisateur définie par l'administrateur fonctionnel (parfois appelé "résidence administrative"). L'utilisateur ne peut pas la modifier lui-même;
* `civility` (Civility): la civilité de l'utilisateur;
### UserJob (Métier)
* `id` (int): identifiant
* `label` (texte): nom du métier

Binary file not shown.

BIN
admin/img/generation-document/libre-office-insert-renvoi.png (Stored with Git LFS) Normal file

Binary file not shown.

77
admin/start.md Normal file
View File

@ -0,0 +1,77 @@
# Démarrer la configuration de Chill
A la livraison, Chill ne dispose d'aucune configuration, vous recevez l'instance avec une base de donnée vide.
Voici les premières étapes à configurer pour pouvoir commencer à l'utiliser.
## Se connecter en tant qu'administrateur
Sur la page d'accueil de votre nouvelle instance, utilisez le login d'administration et le mot de passe qui vous a été fourni.
Vous serez alors redirigé vers l'interface d'administration.
## Que faut-il créer ?
### Premier utilisateurs, et les droits minimums
Pour qu'un utilisateur puisse utiliser Chill, voici les opérations à réaliser:
* Créer un Centre.
Choisissez un nom qui représente votre service. Si vous n'en utilisez qu'un seul, il ne sera que très rarement visible des utilisateurs.
* Créer un Cercle;
Si vous choisissez de laisser visibles tous les éléments, il ne sera jamais visualisés par les utilisateurs. Dans le cas inverse, utilisez un nom de service qui soit cohérent avec la séparation que vous voulez réaliser.
* Créer un Groupe de permissions
C'est sans doute la phase la plus complexe: elle vise à créer un groupe de droits cohérents. Chaque droit s'exerce sur un cercle défini.
Si vous choississez de laisser accessibles toutes les informations, indiquez les permissions les plus larges, et le cercle que vous avez créé.
* Créer un utilisateur
Les seuls champs obligatoires sont son nom d'utilisateur (qu'il rentrera pour s'authentifier il n'est pas sensible à la casse), son adresse de courriel et un libellé (le nom qui s'affichera dans tous les menus). Vous devez également indiquer un mot de passe.
Les autres champs sont optionnels.
Une fois créé, associez votre nouvel utilisateur avec le groupe de permission, et le centre.
Avec ces premières étapes, un utilisateur devrait déjà être capable de s'authentifier et, si les droits sont configurés correctement, créer un premier dossier de personne.
### Le nécessaire pour un premier parcours
Continuez pour pouvoir saisir un premier parcours (si vous utilisez cette fonctionnalité):
* Créer un "type de localisation". Le type de localisation permettra d'indiquer le lieu où sera localisé le parcours. Un des types les plus courants est, par exemple, un type "implantation".
Par la suite, vous pourrez créer des types de lieux pour, par exemple, le "domicile de l'usager", "rendez-vous en hôpital", etc.
* Créer une "localisation", que vous allez attacher au "type de localisation" créé précédemment.
* Créer une "Origine" pour les parcours.
Par exemple: "Appel téléphonique", "Rencontre en maraude", etc.
* Créer une première "problématique sociale"
Impossible de confirmer un parcours sans problématique!
* Créer un Métier
Le métier sera nécessaire pour pouvoir confirmer le parcours. Vous pouvez associer le premier utilisateur créé au métier: il sera plus aisément sélectionné.
Vous êtes maintenant en mesure de créer un usager et un parcours!
### Une première activité !
Pour pouvoir créer une activité (tant dans un parcours qu'auprès d'une personne), ajoutez un "type d'activité".
### Une configuration minimale...
Cette première configuration est minimale! Elle suffit pour commencer.
Par la suite, vous pourrez vous plonger dans les différents menus pour alimenter votre instance de Chill et qu'elle soit à votre image.

View File

@ -36,10 +36,22 @@ if [ $kind = 'user' ]; then
notifications.md
tasks.md
workflows.md
choisir_une_adresse.md
adresses.md
exports.md
exports_person.md
exports_activity.md
exports_accompanying_period.md
nouveautes.md
"
# missing pages to once completed
# exports_accompanying_period_work.md
# exports_accompanying_period_work_evaluation.md
# exports_aside_activity.md
# exports_calendar.md
# exports_household.md
elif [ $kind = 'admin' ]; then
export files="
start.md
generation-documents.md
"
else

66
user/adresses.md Normal file
View File

@ -0,0 +1,66 @@
\newpage