Le but de ce document est d'expliquer :
Le mécanisme mis en œuvre par les contrôles de vues permet de proposer et de contrôler l'accès à diverses représentations du document que ce soit en consultation ou en édition.
Les contrôles de vues permettent d'accéder à des attributs qui sont généralement cachés par défaut. La définition d'une vue du document se compose de quatre paramètres :
Par défaut, Freedom propose 3 vues :
Une vue permet donc :
Pour expliquer comment mettre en place un contrôle de vues, nous allons créer une nouvelle famille et plusieurs vues pour arriver à ce résultat : Cadre réservé au demandeur :
Cadre réservé à la direction :
Pour notre exemple, nous allons créer cette famille de test :
| idattr | idframe | label | T | A | type | ord | vis | need |
|---|---|---|---|---|---|---|---|---|
| TEST_FRAME_DEM | Cadre réservé au demandeur | N | N | frame | 0 | W | N | |
| TEST_FRAME_DIR | Cadre réservé à la direction | N | N | frame | 1 | W | N | |
| TEST_TEXT11 | TEST_FRAME_DEM | Objet | Y | N | text | 2 | R | Y |
| TEST_TEXT12 | TEST_FRAME_DEM | Description | N | N | longtext | 3 | R | N |
| TEST_TEXT21 | TEST_FRAME_DIR | Réponse | N | N | text | 4 | R | N |
| TEST_TEXT22 | TEST_FRAME_DIR | Commentaire | N | N | longtext | 5 | H | N |
Pour importer cette famille dans Freedom, vous pouvez télécharger ce fichier et l'importer avec cette commande :
/usr/share/what/wsh.php --api=freedom_import --file=famille_test_vue.ods
Dans cette famille, nous pouvons remarquer :
Un masque permet d'afficher ou masquer certains champs (attributs) ou de modifier leur visibilité. Dans notre cas, nous allons devoir créer 3 masques :
Pour créer un masque, il faut :
Le premier masque que l'on nommera « Masque édition demandeur » est paramétré comme cela :
Le deuxième masque que l'on nommera « Masque édition direction » est paramétré comme cela :
Le troisième masque que l'on nommera « Masque consultation direction » est paramétré comme cela :
Remarque : Pour retrouver facilement vos masques, il faut enregistrer une nouvelle recherche sur la famille « masque de saisie »
Un contrôle de vue permet :
Pour créer un contrôle de vues, il faut :
Remarque sur le champ zone : Le champ « zone » permet d'utiliser des vues XML personnalisées. Dans ce document, nos utilisons les vues livrées par défaut dans Freedom. Pour apprendre à créer une vue personnalisée, il faut suivre cette documentation .
Remarque, en édition, sur les champs “ordre” et “affichable” : Si “affichable” est sélectionné, l'utilisateur, qui aura accès au masque dont “affichable” est sélectionné, verra à la fois le menu “Editer” classique et le menu de ce masque. Si “affichable” n'est pas sélectionné, alors “ordre” prend toute sa signification. freedom vérifiera que l'utilisateur a accès au masque d'édition d'ordre 1. Si l'utilisateur a droit d'accès, alors ce sera ce masque qui sera affiché lorsque l'utilisateur cliquera sur le menu “Editer” classique. Si l'utilisateur n'avait pas accès à ce masque d'ordre 1, alors freedom testera les accessibilités de cet utilisateur vis à vis du masque d'ordre 2, et ainsi de suite …
Pour affecter le contrôle de vues sur notre famille de test, il faut :
Une fois le contrôle de vues affecté à la famille, la création d'un nouveau document doit prendre en compte par défaut la vue « Masque édition demandeur ». Ce qui donne :
Une fois le document validé, un clic droit sur ce dernier doit faire apparaître les menus suivants :
La vue « Édition demandeur » correspond à celle par défaut montrée précédemment. La vue « Édition Direction » ressemble à celle-ci :
La vue « Consultation Direction » correspond à celle-ci :
Pour que le choix de la vue se fasse automatiquement en fonction des droits de la personne connectée, il est possible d'affecter des droits au contrôle de vues. Attention : Pour suivre l'exemple ci-dessous, il est nécessaire de créer deux utilisateurs appartenant aux groupes « Demandeur » et Direction » Ensuite, il faut :
Une fois les droits appliqués, les utilisateurs des groupes « Direction » et « Demandeurs » auront automatiquement accès à leur vue de consultation et d'édition par défaut et ils ne pourront pas choisir une autre vue. Par exemple, le groupe demandeur ne pourra pas voir le champ « Commentaire » car ce dernier n'est accessible qu'à travers la vue « Consultation Direction » :