[API rôles] Des rôles uniques
Il pourrait être intéressant de pouvoir déclarer des rôles à usage unique, c'est à dire des rôles attribuables une seule fois par objet. Si un jour il y a un rôle « logo », il s'agirait d'un rôle unique par exemple.
Dans la déclaration des rôles, il pourrait s'agir d'une clé supplémentaire où on donnerait la liste des rôles uniques. Exemple pour un plugin qui ajouterait 3 rôles aux documents : « couverture », « 4ème de couverture» et « extrait ». Il peut y avoir autant d'extraits qu'on veut, mais une seule couverture et une seule 4ème de couverture.
(Code édité suite au commentaire #3)
'roles_colonne' => 'role',
'roles_titres' => array(
'couv' => 'plugin:role_couv',
'4couv' => 'plugin:role_4couv',
'extrait' => 'plugin:role_extrait',
),
'roles_objets' => array(
'documents' => array(
'choix' => array('couv', '4couv', 'extrait'),
'defaut' => 'extrait',
'uniques' => array('couv', '4couv'), // Nouvelle clé
),
)
Ensuite cela supposerait les modifs suivantes :
- Quand on attribue un rôle unique à un objet, supprimer ce rôle sur tous les autres liens pour cet objet
- Dans le formulaire de rôles, ne pas proposer les rôles uniques déjà attribués (à voir si ça concerne l'API ou le plugin, ou les 2 à la fois)
- Autre ?
Dans le plugin rôle de documents on fait exactement çà, sauf qu'on a choisi le terme de rôles « principaux ».