Permissions (sur l'interface d'administration) ============================================== Par défaut, un membre n'a pas accès à l'interface d'administration. Organisation ------------ Les permissions d'un membre se changent dans sa fiche. Seuls les super-utilisateurs peuvent modifier les permissions. ### Statut équipe Il permet d'autoriser un membre à se connecter à l'interface d'administration. Un bouton *« Administration »* apparaîtra alors dans son menu. En l'absence d'appartenance à un [groupe](#groupes) ou du [statut super-utilisateur](#statut-super-utilisateur), le statut équipe donne accès à une interface d'administration vide. ### Statut super-utilisateur Un membre avec le *statut super-utilisateur* peut lire et modifier toutes les informations gérées par coin. C'est typiquement un statut à réserver aux membres du bureau. ### Groupes Les *groupes* permettent simplement de réunir les membres par niveau d'accès. Un *groupe* inclut donc un ou plusieurs *membres* et se voit attribuer une ou plusieurs [permissions](#permissions). Un membre peut appartenir à plusieurs groupes. ### Permissions Les permissions permettent de choisir précisément à quelles données peuvent accéder les membres d'un [groupe](#groupe). #### Permissions par opération On peut gérer les permissions d'accès pour chaque opération réalisable dans coin. Une opération est la combinaison d'un *type d'opération* et d'un *type de donnée*. - Les **types d'opérations** sont : *création*, *suppression* *modification*. - Les **types de données** principaux sont : membre, abonnement, offre… La liste complète est affichée aux super-utilisateurs sur la page d'accueil de l'administration. **NB**: Le droit de *lecture* est accordé avec le droit de *modification*. Le droit de *lecture seule* n'existe donc pas. Les permissions sur les *abonnements*, les *offres* et les *membres* sont de plus restreintes par les [permissions fines](#permissions-fines-par-offre). #### Permissions fines (par offre) Ce sont des permissions qui permettent de n'autoriser l'accès qu'à une partie des données en fonction de leur contenu. Ces permissions ne se substituent pas aux [permissions par opération](#permissions-par-operation), elles en limitent le champ d'application. Les *types de données* dont l'accès est limité par les *permissions fines* sont : - offres - abonnements - membre Les *permissions fines* permettent ce genre de logique : - Les membres du groupe « Admins VPN » n'ont accès qu'à ce qui concerne les abonnés et abonnements VPN. - Les membres du groupe « Wifi Machin » n'ont accès qu'à ce qui concerne les abonnements wifi du quartier machin - etc… Le critère sur lequel une donnée est accessible ou non est donc l'offre souscrite. Exemples -------- ## Exemple pour un groupe gérant le matériel et les emprunts 1. Créer un **groupe** « Matos » (dans la section *Auth*) avec toutes les permissions mentionnant l'application « hardware_provisioning ». 2. Pour chaque *membre* qui va gérer le matos, aller sur sa fiche, et dans la rubrique *Permissions* : - activer son *Statut équipe* - l'ajouter au groupe « Matos » **NB:** Quand un membre de notre groupe « Matos » déclare un nouvel emprunt, il devra tapper au moins 3 caractères du nom du membre qui emprunte, de cette façon un utilisateur qui n'est pas super-utilisateur n'a pas accès facilement à la liste de tous les membres. ## Exemple pour un groupe gérant les abonnements ADSL 1. **Pour chaque offre ADSL, créer une Row Level Permission** (dans la section *Members*) correspondante (c'est pénible mais on est obligé de faire une permission par *offre*). Par exemple, si on a deux offres ADSL : | Champ | Valeur | |----------------|---------------------------------------| | Nom | Permission ADSL Marque blanche | | Content Type | abonnement | | Nom de code | perm-adsl-marque-blanche | | Offre | Marque blanche FDN - 32 € / mois | et | Champ | Valeur | |----------------|---------------------------------------------------| | Nom | Permission ADSL Marque blanche (préférentiel) | | Content Type | abonnement | | Nom de code | perm-adsl-marque-blanche-pref | | Offre | Marque blanche FDN - 32 € / mois | 2. **Créer un Groupe** (dans la section *Auth*) nommé « ADSL » avec les permissions suivantes : - `membres | membre | Can add membre` pour que les *membres* du groupe puissent créer de nouvelles fiches membre - `membres | membre | Can change membre` pour qu'ils puissent voir et éditer les infos des membres, ils n'auront accès qu'aux membres qui ont souscrit à un abonnement ADSL - `offers | abonnement | Can add abonnement` pour qu'ils puissent une souscription d'abonnement - `offers | abonnement | Can change abonnement` pour qu'ils puissent modifier une souscription abonnement - `offers | abonnement | Can delete abonnement` si l'on veut qu'ils puissent supprimer des abonnements (à réfléchir, peut être souhaitable ou non) - `offers | abonnement | perm-adsl-marque-blanche` pour qu'ils puissent avoir accès aux membres qui ont souscrit à l'offre correspondante (permission qu'on vient de créer au 1.) - `offers | abonnement | perm-adsl-marque-blanche-pref` (idem) 3. **Pour chaque membre** qui va gérer l'ADSL, aller sur sa fiche et dans la rubrique *Permissions* : - lui ajouter le *Statut équipe* (afin qu'il puisse se connecter à l'interface d'admin) - l'ajouter au groupe « ADSL » Les membres du groupe peuvent maintenant ajouter / modifier des membres et des abonnements. **Attention :** pour respecter la vie privée, les membres du groupe n'ont accès qu'aux membres qui ont un abonnement ADSL. Donc s'ils veulent enregistrer un nouveau membre il faut renseigner son abonnement *au moment de la création de la fiche membre* (en bas du formulaire membre) ; sinon la fiche du nouveau membre va être créée mais sera invisible (erreur 404, sauf pour le bureau).