Objets complexes
Les objets complexes sont des éléments mis à disposition du contexte de génération, en plus des objets initialement disponibles dans le contexte.
jobs_map
Contexte d'utilisation
L'objet jobs_map
est un objet complexe permettant de parcourir l'ensemble des Jobs reliés à un
Déploiement via les Groupes, ou directement à un Groupe. Il est donc disponible dans les contextes de
génération pour les Déploiements et les Groupes.
Son objectif est de lister l'ensemble des Jobs, triés par client et plateforme.
Architecture
jobs_map = [
// Objet unique par client
{
"customer": {
// Données du client
},
"platforms": [
{
"platform": {
// Donnée de la plateforme
},
"jobs": [
{
// Donnée des jobs reliés à la plateforme
}
]
}
]
}
]
Exemple
{% for customerItem in context.get("jobs_map") %}
<h3>{{ customerItem.get("customer").get("name").textValue()}}</h3>
{% for platformItem in customerItem.get("platforms") %}
{% for jobItem in platformItem.get("jobs") %}
<p style="font-size: small;">{{ platformItem.get("platform").get("webUrl").textValue()}} - <span style="color: #777;">{{ jobItem.get("scheduledAt")|date}}</span></p>
{% endfor %}
{% endfor %}
{% endfor %}
Le résultat de ce code est le suivant :
Limitation du périmètre par destinataire
Pour générer l'objet jobs_map
, on utilise la liste des jobs rattachés à un Groupe ou un Déploiement. Pour
certains destinataires, le calcul est modifié afin de restreindre le périmètre des jobs affichés. Cela permet de ne pas
afficher tous les jobs pour un destinataire qui n'a pas les droits de les voir. Notamment dans le cas des contacts d'une
plateforme ou d'un client, qui ne doivent voir que les jobs liés à leur plateforme ou client.
Les invités sur un Groupe ou un Déploiement ont accès à l'ensemble des jobs du Groupe ou du Déploiement.