wcs/help/fr/misc-substvars.page

335 lines
10 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<page xmlns="http://projectmallard.org/1.0/"
type="topic" id="misc-substvars" xml:lang="fr">
<info>
<link type="seealso" xref="misc-templates" />
<revision docversion="0.1" date="2013-07-06" status="draft"/>
<credit type="author">
<name>Frédéric Péters</name>
<email>fpeters@entrouvert.com</email>
</credit>
</info>
<title>Variables de substitution</title>
<p>
<app>w.c.s.</app> dispose dun système générique appelé « variables de
substitutions » qui permet de faire référence à des données internes,
provenant du système, dun formulaire, dun champ, etc.
</p>
<p>
Ce système est particulièrement utile dans le paramétrage du contenu dun
courriel ou dans la définition dune logique de traitement dun formulaire,
mais est également accessible depuis le thème, pour le préremplissage de
champs, etc.
</p>
<section id="system-variables">
<title>Variables système</title>
<p>
Ces variables sont accessibles à tout endroit du site.
</p>
<table shade="rows">
<tr>
<td><p><code>site_name</code></p></td>
<td><p>Le titre du site</p></td>
</tr>
<tr>
<td><p><code>site_theme</code></p></td>
<td><p>Lidentifiant du thème en cours</p></td>
</tr>
<tr>
<td><p><code>site_url</code></p></td>
<td><p>Ladresse du site</p></td>
</tr>
<tr>
<td><p><code>site_url_backoffice</code></p></td>
<td><p>Ladresse vers le backoffice du site</p></td>
</tr>
<tr>
<td><p><code>site_lang</code></p></td>
<td><p>Le code de la langue utilisée par le site</p></td>
</tr>
<tr>
<td><p><code>today</code></p></td>
<td><p>La date du jour</p></td>
</tr>
<tr>
<td><p><code>now</code></p></td>
<td><p>La date et lheure du jour</p></td>
</tr>
<tr>
<td><p><code>session_user_display_name</code></p></td>
<td><p>Le nom de lutilisateur connecté</p></td>
</tr>
<tr>
<td><p><code>session_user_email</code></p></td>
<td><p>Ladresse électronique de lutilisateur connecté</p></td>
</tr>
<tr>
<td><p><code>is_in_backoffice</code></p></td>
<td><p>Vrai si la requête en cours a lieu dans le backoffice</p></td>
</tr>
</table>
<p>
À lintérieur dune catégorie, les variables suivantes sont également
définies :
</p>
<table shade="rows">
<tr>
<td><p><code>category_name</code></p></td>
<td><p>Lintitulé de la catégorie</p></td>
</tr>
<tr>
<td><p><code>category_description</code></p></td>
<td><p>La description de la catégorie</p></td>
</tr>
<tr>
<td><p><code>category_id</code></p></td>
<td><p>Lidentifiant de la catégorie</p></td>
</tr>
</table>
<note><p>
Des variables supplémentaires peuvent également être définies par
ladministrateur système, via des variables denvironnement ou la
configuration de linstance de w.c.s.
</p></note>
</section>
<section id="form-variables">
<title>Variables de formulaire</title>
<section id="general-info">
<title>Informations générales</title>
<table shade="rows">
<tr>
<td><p><code>form_receipt_date</code></p></td>
<td><p>La date de réception du formulaire</p></td>
</tr>
<tr>
<td><p><code>form_receipt_time</code></p></td>
<td><p>La date et lheure de réception du formulaire</p></td>
</tr>
<tr>
<td><p><code>form_name</code></p></td>
<td><p>Le titre du formulaire</p></td>
</tr>
<tr>
<td><p><code>form_number</code></p></td>
<td><p>Le numéro attribué au formulaire</p></td>
</tr>
<tr>
<td><p><code>form_slug</code></p></td>
<td><p>Le « slug » (partie dadresse) du formulaire</p></td>
</tr>
<tr>
<td><p><code>form_url</code></p></td>
<td><p>Ladresse vers la vue du formulaire</p></td>
</tr>
<tr>
<td><p><code>form_url_backoffice</code></p></td>
<td><p>Ladresse vers le formulaire dans le backoffice</p></td>
</tr>
<tr>
<td><p><code>form_tracking_code</code></p></td>
<td><p>Le code de suivi du formulaire, sil existe</p></td>
</tr>
<tr>
<td><p><code>form_criticality_level</code></p></td>
<td><p>Le niveau de criticité, 0 pour le niveau le plus bas, 101, 102, 103, etc. pour les suivants.</p></td>
</tr>
</table>
</section>
<section id="user-info">
<title>Informations sur lutilisateur (demandeur)</title>
<p>
Les données contiennent aussi des informations sur lutilisateur ayant
complété le formulaire.
</p>
<table shade="rows">
<tr>
<td><p><code>form_user_display_name</code></p></td>
<td><p>Le nom de lutilisateur</p></td>
</tr>
<tr>
<td><p><code>form_user_email</code></p></td>
<td><p>Ladresse électronique de lutilisateur</p></td>
</tr>
<tr>
<td><p><code>form_user_name_identifier_<var>n</var></code></p></td>
<td><p>Identifiant SAML de lutilisateur (NameID), pour le fournisseur
didentités numéro n (n commençant à 0)</p></td> </tr>
</table>
<p>
Si un champ utilisateur personnalisé dispose dun nom de variable, alors
il est accessible sous la forme <code>form_user_var_<var>variable du
champ</var></code>, par exemple <code>form_user_var_prenom</code>.
</p>
</section>
<section id="form-data">
<title>Données du formulaire</title>
<table shade="rows">
<tr>
<td><p><code>form_details</code></p></td>
<td><p>Lensemble des champs et de leur valeurs</p></td>
</tr>
</table>
<p>
Il est également possible au moment de la définition dun champ, de lui
affecter un nom de variable, cela rendra la valeur associée à ce champ
accessible via une variable de la forme <code>form_var_<var>variable du
champ</var></code> (par exemple : <code>form_var_courriel</code>).
</p>
<p>
Pour les champs de type « Liste » dont les éléments contiendraient à la
fois un libellé et un identifiant (ce qui arrive pour les champs alimentés
depuis une source de données), le libellé se trouvera dans <code>form_var_<var>variable
du champ</var></code> et lidentifiant dans <code>form_var_<var>variable du
champ</var>_raw</code>.
</p>
<p>
Aussi, si la source de données contient des clés supplémentaires, elles
se trouveront dans <code>form_var_<var>variable du champ</var>_<var>clé
supplémentaire</var></code>, par exemple pour une clé <code>cout</code>,
<code>form_var_document_cout</code>.
</p>
</section>
<section id="workflow-data">
<title>Statut et données relatives au traitement</title>
<table shade="rows">
<tr>
<td><p><code>form_status</code></p></td>
<td><p>Le statut actuel du formulaire</p></td>
</tr>
<tr>
<td><p><code>form_previous_status</code></p></td>
<td><p>Le statut précédent du formulaire</p></td>
</tr>
<tr>
<td><p><code>form_status_changed</code></p></td>
<td><p>Un booléen précisant que le formulaire vient de changer de statut</p></td>
</tr>
<tr>
<td><p><code>form_evolution</code></p></td>
<td><p>Informations sur le dernier statut</p></td>
</tr>
<tr>
<td><p><code>form_role_receiver_name</code></p></td>
<td><p>Le nom du rôle en charge du traitement</p></td>
</tr>
<tr>
<td><p><code>form_role_receiver_emails</code></p></td>
<td><p>Les adresses électroniques associées au rôle en charge du traitement</p></td>
</tr>
<tr>
<td><p><code>form_role_receiver_details</code></p></td>
<td><p>La description (« détail du rôle ») associée au rôle en charge du traitement</p></td>
</tr>
</table>
</section>
<section id="submission-info">
<title>Informations sur la saisie</title>
<p>
Les données contiennent aussi des informations sur le contexte de saisie de
la demande.
</p>
<table shade="rows">
<tr>
<td><p><code>form_submission_backoffice</code></p></td>
<td><p>Vrai si la saisie a eu lui depuis le backoffice</p></td>
</tr>
<tr>
<td><p><code>form_submission_channel</code></p></td>
<td><p>Identifiant du canal de saisie (ex: mail)</p></td>
</tr>
<tr>
<td><p><code>form_submission_channel_label</code></p></td>
<td><p>Libellé du canal de saisie (ex: Courrier)</p></td>
</tr>
</table>
<p>
Si dautres informations ont été fournies sur le contexte de la saisie
elles sont disponibles dans des variables de la forme
<code>form_submission_context_<var>foobar</var></code>.
</p>
</section>
</section>
<section id="session-variables">
<title>Variables de session</title>
<p>
La session de lusager contient une série dinformations fixes (par exemple
le <code>session_user_display_name</code> décrit en haut de page), il est
aussi possible dy ajouter de nouvelles données par lintermédiaire de
liens contenant des paramètres. Cela permet par exemple dinclure une URL
personnalisée dans un courriel vers lusager qui assurera le
préremplissage automatique de champs.
</p>
<p>
Le fonctionnement est simple, si le site reçoit une adresse avec des
paramètres de la forme <code>session_var_<var>nom</var></code>, une
variable du même nom (<code>session_var_<var>nom</var></code>) est rendue
disponible.
</p>
<p>
Un autre exemple pourrait être de faire varier le thème en fonction du site
extérieur ayant pointé vers le formulaire, une URL serait par exemple
<code>https://www.example.net/?session_var_departement=42</code> et le
squelette du site pourrait avoir le code suivant :
</p>
<example>
<code>
{% if session_var_departement %}
&lt;link rel="stylesheet" type="text/css" href="extra/{{session_var_departement}}.css"/&gt;
{% endif %}
</code>
</example>
<note style="important">
<p>
Ce fonctionnement doit explicitement être autorisé par
ladministrateur système, la liste des variables permises doit être ajoutée
au fichier <code>site_options.cfg</code>, dans la section
<code>[options]</code>, par exemple :
</p>
<example>
<code>query_string_allowed_vars = departement,une_autre_variable</code>
</example>
</note>
</section>
</page>