{"action":"opened","issue":{"url":"https://api.github.com/repos/daniel-menard/prisme/issues/252","labels_url":"https://api.github.com/repos/daniel-menard/prisme/issues/252/labels{/name}","comments_url":"https://api.github.com/repos/daniel-menard/prisme/issues/252/comments","events_url":"https://api.github.com/repos/daniel-menard/prisme/issues/252/events","html_url":"https://github.com/daniel-menard/prisme/issues/252","id":61045905,"number":252,"title":"Affichage et formulaires différenciés","user":{"login":"daniel-menard","id":3940667,"avatar_url":"https://avatars.githubusercontent.com/u/3940667?v=3","gravatar_id":"","url":"https://api.github.com/users/daniel-menard","html_url":"https://github.com/daniel-menard","followers_url":"https://api.github.com/users/daniel-menard/followers","following_url":"https://api.github.com/users/daniel-menard/following{/other_user}","gists_url":"https://api.github.com/users/daniel-menard/gists{/gist_id}","starred_url":"https://api.github.com/users/daniel-menard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daniel-menard/subscriptions","organizations_url":"https://api.github.com/users/daniel-menard/orgs","repos_url":"https://api.github.com/users/daniel-menard/repos","events_url":"https://api.github.com/users/daniel-menard/events{/privacy}","received_events_url":"https://api.github.com/users/daniel-menard/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/daniel-menard/prisme/labels/Acc%C3%A8s%20diff%C3%A9renci%C3%A9","name":"Accès différencié","color":"009800"},{"url":"https://api.github.com/repos/daniel-menard/prisme/labels/Gestion%20des%20droits","name":"Gestion des droits","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"daniel-menard","id":3940667,"avatar_url":"https://avatars.githubusercontent.com/u/3940667?v=3","gravatar_id":"","url":"https://api.github.com/users/daniel-menard","html_url":"https://github.com/daniel-menard","followers_url":"https://api.github.com/users/daniel-menard/followers","following_url":"https://api.github.com/users/daniel-menard/following{/other_user}","gists_url":"https://api.github.com/users/daniel-menard/gists{/gist_id}","starred_url":"https://api.github.com/users/daniel-menard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daniel-menard/subscriptions","organizations_url":"https://api.github.com/users/daniel-menard/orgs","repos_url":"https://api.github.com/users/daniel-menard/repos","events_url":"https://api.github.com/users/daniel-menard/events{/privacy}","received_events_url":"https://api.github.com/users/daniel-menard/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/daniel-menard/prisme/milestones/7","html_url":"https://github.com/daniel-menard/prisme/milestones/Prisme%20-%20V1","labels_url":"https://api.github.com/repos/daniel-menard/prisme/milestones/7/labels","id":998603,"number":7,"title":"Prisme - V1","description":"Ce milestone servira à regrouper les tickets issus du point de situation fait en février 2015 en vue de finaliser la V1 Prisme telle que définie dans le cahier des charges initial.","creator":{"login":"daniel-menard","id":3940667,"avatar_url":"https://avatars.githubusercontent.com/u/3940667?v=3","gravatar_id":"","url":"https://api.github.com/users/daniel-menard","html_url":"https://github.com/daniel-menard","followers_url":"https://api.github.com/users/daniel-menard/followers","following_url":"https://api.github.com/users/daniel-menard/following{/other_user}","gists_url":"https://api.github.com/users/daniel-menard/gists{/gist_id}","starred_url":"https://api.github.com/users/daniel-menard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daniel-menard/subscriptions","organizations_url":"https://api.github.com/users/daniel-menard/orgs","repos_url":"https://api.github.com/users/daniel-menard/repos","events_url":"https://api.github.com/users/daniel-menard/events{/privacy}","received_events_url":"https://api.github.com/users/daniel-menard/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":3,"state":"open","created_at":"2015-02-27T10:26:56Z","updated_at":"2015-03-13T11:43:26Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-03-13T11:43:26Z","updated_at":"2015-03-13T11:43:26Z","closed_at":null,"body":"Actuellement, le formulaire de saisie et les formats d'affichage long/court sont les mêmes quels que soient les droits des utilisateurs.\r\n\r\nOn souhaite que certains champs ne puissent être saisis et modifiés que par certains utilisateurs (champs de gestion par exemple). Idem pour les formats d'affichage : certains champs ne doivent être visibles que par les personnes qui dispose des droits requis (producteurs par exemple).\r\n\r\nPrincipes retenus après réflexion : \r\n- par défaut, tout est affiché (i.e pas de restrictions dans les grilles par défaut dans la mesure où cela dépend de la façon dont les droits ont été définis dans WordPress)\r\n- pour chaque champ, possibilité d'indiquer un droit (capability WordPress)\r\n- le champ ne sera affiché que si l'utilisateur en cours dispose du droit indiqué\r\n- il appartient aux administrateurs d'ajouter ce droit aux groupes ad hoc en utilisant [un plugin de gestion des droits](https://github.com/daniel-menard/prisme/issues/248).\r\n- par extension, possibilité d'indiquer un droit dans un *groupe de champs*. Dans ce cas, c'est la totalité du groupe et tous les champs qu'il contient qui seront masqués si l'utilisateur n'a pas ce droit.\r\n- le droit indiqué pourra être n'importe quoi : un droit qui existe déjà dans wordpress (par exemple `manage_options` pour limiter aux administrateurs), un droit spécifique à un champ qu'on devra créer explicitement (par exemple `can_view_field_xxx`), un droit propre à une base (`can_view_field_xxx_of_base_yyy`), un droit générique (`can_view_advanced_fields`), etc. Bref, l'administrateur pourra faire ce qu'il veut.\r\n\r\nRemarque : \r\n- dans cette première version, pas trop de fioritures, on saisit le droit \"à la main\" ou on fait un copier/coller du nom de la capability (pas de saisie sur liste ou autre).\r\n- il faudrait avoir la même chose pour le formulaire de recherche, mais tant que ce n'est pas intégré dans le système de grilles, ce n'est pas possible. Donc ce n'est pas inclut dans ce ticket, cela fera l'objet d'un ticket à part.\r\n- idéalement, il faudrait également qu'on ait un système permettant d'avoir plusieurs formulaires ou plusieurs formats d'affichage et permettre d'indiquer quel formulaire/affichage utiliser en fonction des droits de l'utilisateur. C'est juste une idée pour plus tard, on n'en a pas besoin pour le moment, donc cela ne fait pas partie de ce ticket.\r\n"}}