Modifications publiées sur le svn (r407) :
Mise en place des appels externes¶
La récupération de données externes se fait via un nouveau partial : global/proxyepn_external_data
Il est inclus systématiquement sur les fiches des GEPN, EPN, salles et usagers.
Le
partial demande en paramètre :
- object : l'objet affiché sur la fiche, dont les propriétés pourront servir à l'interrogation
- module : le type de l'objet désigné par son nom de module (
structure_group
, structure
, room
, user
)
Il se charge de lire la configuration pour voir si des données sont à inclure. Si c'est le cas, il construit le chemin pour y accéder et les affiche par une commande PHP readfile(). Le chemin utilisé peut donc être un chemin de fichier local ou une URL.
Configuration des appels externes¶
Les sources de données sont définies dans le fichier de configuration app.yml :
external_data:
structure_group:
path: chemin FS ou HTTP avec motif sprintf
params: [ liste de noms de colonnes pour le motif ]
roles: [ liste des roles ayant accès aux données ]
structure:
...
room:
...
user:
...
En l'absence de ces informations, rien ne sera affiché par le partial.
Chaque type de fiche dispose donc de sa propre configuration, avec 3 paramètres possibles :
- path (obligatoire) : le chemin de la source de données lue par le readfile() (FS ou HTTP), pouvant contenir des motifs au format sprintf qui feront appels aux paramètres définis ci-après.
- params (facultatif) : une liste de noms de propriétés de l'objet qui serviront pour compléter le motif du path (les noms doivent correspondre à des accesseurs existants de l'objet
getXXX()
).
- roles (facultatif) : une liste de rôle pour limiter l'affichage des données selon le profil de l'utilisateur.