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 matos 1. Créer un groupe (dans Auth) 'Matos' avec toutes les permissions de l'application 'hardware_provisioning'. 2. Pour chaque bénévole qui va gérer le matos, aller sur la page qui permet de modifier ses informations et dans la rubrique 'Permissions' : - lui ajouter le 'Statut équipe' - l'ajouter au groupe 'Matos' Quand on déclare un nouvel emprunt, il faut taper au moins 4 caractères du nom du membre qui emprunte, de cette façon un utilisateur qui n'est pas superuser 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 *Members*) correspondante (c'est pénible mais on est obligé de faire une permission par Offre). Par exemple : - Nom : 'Permission ADSL Marque blanche', - Content Type : 'abonnement', - Nom de code : 'perm-adsl-marque-blanche', - Offre : Marque blanche FDN - 32 € / mois' et - Nom : 'Permission ADSL Marque blanche (préférentiel)', - Content Type : 'abonnement', - Nom de code : 'perm-adsl-marque-blanche-pref', - Offre : Marque blanche FDN - 28 € / mois (préférentiel)' 2. Créer un 'Groupe' (dans Auth) nommé 'ADSL' avec les permissions suivantes : - membres | membre | Can add membre # pour que les bénévoles puissent ajouter de nouveaux membres - membres | membre | Can change membre # pour qu'ils puissent é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 ajouter un abonnement - offers | abonnement | Can change abonnement # pour qu'ils puissent modifier un abonnement - offers | abonnement | Can delete abonnement # si l'on veut qu'ils puissent supprimer des abonnements (mais ça marche très bien sans) - 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 bénévole qui va gérer l'ADSL, aller sur la page qui permet de modifier ses informations 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 bénévoles 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).