Les contrôles de vues

But de ce document

Le but de ce document est d'expliquer :

  • Comment fonctionnent et à quoi servent les vues sous Freedom.
  • Comment mettre en place un contrôle de vues permettant d'ajouter un menu contextuel sur une famille pour proposer d'autres vues d'affichage ou d'édition.
  • Comment modifier la vue d'un document en fonction des droits de l'utilisateur.

Généralités

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.

cv.svg

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 :

  • L'identificateur : doit être unique dans le document vue et ne doit comporter que des lettres (sans espace).
  • La description (label): intitulé de la vue affiché dans le menu contextuel
  • Le type : consultation ou édition
  • La zone : identifiant de la représentation du document (syntaxe: APP:LAYOUT).
  • Le masque : document masque de saisie utilisé pour cette vue.
  • L'ordre : numéro de préférence de la vue à appliquer dans le cas d'une consultation ou d'une édition par défaut. Si aucun numéro n'est mis, la vue ne sera pas prise en compte par défaut. Si des numéros sont indiqués FREEDOM choisira le premier accessible par l'utilisateur suivant ses droits dans l'ordre croissant (le premier étant 1).
  • Affichable : pour indiquer que la vue est accessible via le menu contextuel

Présentation des vues par défaut

Par défaut, Freedom propose 3 vues :

  • La vue de consultation (affichage d'un document)
  • La vue d'édition (modification d'un document)
  • La vue résumée (vue d'affichage simplifiée qui apparaît par exemple dans le module « Une famille »

Une vue permet donc :

  • De modifier l'affichage des différents attributs (ou champs) d'une famille
  • De masquer certains champs visibles par défaut
  • D'afficher des champs invisibles par défaut
  • De rendre les champs modifiables ou non

Exemple de contrôle de vues

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 :

  • Objet de la demande (en lecture seule par la direction)
  • Description de la demande (en lecture seule par la direction)

Cadre réservé à la direction :

  • Réponse à la demande (visible en lecture seule par le demandeur)
  • Commentaire de la direction (non visible par le demandeur)

Création de la famille de test

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 demandeurNNframe0WN
TEST_FRAME_DIR Cadre réservé à la directionNNframe1WN
TEST_TEXT11TEST_FRAME_DEM ObjetYNtext 2RY
TEST_TEXT12TEST_FRAME_DEM DescriptionNNlongtext 3RN
TEST_TEXT21TEST_FRAME_DIR RéponseNNtext 4RN
TEST_TEXT22TEST_FRAME_DIR CommentaireNNlongtext 5HN

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 :

  • Que les attributs « Objet », « Description » et « Réponse » sont en lecture seule par défaut
  • Que l'attribut « Commentaire » est masqué

Création des masques

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 :

  • Un masque d'édition pour que le demandeur puisse modifier les champs « Objet » et « Description »
  • Un masque d'édition pour que la direction puisse éditer les champs « Réponse » et « Commentaire »
  • Un masque de consultation pour que la direction puisse voir le champ « Commentaire » mais pas le demandeur

Pour créer un masque, il faut :

  • Menu « Création / Document système »
  • Dans la liste « hérite de », sélectionner « masque de saisie »
  • Dans la liste « pour » sélectionner la famille « Test Vue 1 » importée précédemment
  • Indiquer un nom à votre masque
  • Pour chaque attribut, il est possible d'indiquer sa nouvelle visibilité et sa nouvelle obligation

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 »

Création du contrôle de vues

Un contrôle de vue permet :

  • D'ajouter un menu contextuel sur une famille de documents pour changer de masque manuellement
  • De changer de masque automatiquement en fonction des droits de l'utilisateur

Pour créer un contrôle de vues, il faut :

  • Menu « Création / Document système »
  • Dans la liste « hérite de », sélectionner « contrôle de vues »
  • Indiquer un titre au contrôle de vues
  • Sélectionner la famille rattachée à ce contrôle de vues. L'attribut famille doit être préalablement saisi si on veut utiliser des zones ou des masques propres à cette famille. Si cet attribut est rempli le contrôle de vue ne pourra être appliqué que sur des documents de la famille en question ou pour les familles descendantes.
  • Remplir les cases comme indiqué ci-dessous :

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 …

Affecter le contrôle de vues à la famille

Pour affecter le contrôle de vues sur notre famille de test, il faut :

  • Afficher le document de votre famille
  • Cliquer sur
  • Sélectionner le menu « Changer de profil par défaut pour les nouveaux documents »
  • Dans la liste « Contrôle de vues », sélectionner le contrôle de vues créé précédemment.

Test du contrôle de vues manuel

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 :

  • Éditions spéciales / Édition Demandeur
  • Éditions spéciales / Édition Direction
  • Vues spéciales / Consultation Direction

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 :

Le nombre de vue géré par le contrôle de vue est limité à 20. Ceci est du aux nombres de droits possibles sur un document qui sont de 32 - 12 prédéfinis.

Mise en place de droits sur le contrôle de vues

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 :

  • Sélectionner « Autres /Sécurité / Profil dédié » .
  • Sélectionner « Autres /Sécurité / Accessibilité »
  • En cliquant sur les petits boutons gris à la droite des groupes, il est possible d'afficher des cases à cocher permettant de sélectionner les droits comme indiqué ci-dessous :

Test du contrôle de vues automatique

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 » :

freedom_2.14/admin/controle_de_vues.txt · Dernière modification: 11/03/2010 14:52 par jerome.auge