Comment créer un compte
Recommandation
Si vous n’êtes pas familier avec les Comptes
et leur fonctionnement, il est fortement recommandé de lire la
documentation associée
disponible ici
Distinction des membres du restaurant
Rôles
Informations
Les rôles servent à déposer des droits et peuvent être associés à des groupes
Nous partons du principe qu’il y a dans notre restaurant deux types de salarié :
- Le directeur
- Les cuisiniers
Pour cela, rendons-nous dans le fichier src/vendor/<vendorName>/<moduleName>/Accounts/100-RestauratecRoles.xml
afin de
créer ces rôles :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<accounts:accounts xmlns:accounts="https://platform.anakeen.com/4/schemas/account/1.0">
<accounts:roles>
<accounts:role name="role_restaurant_member">
<accounts:displayName>Membre du restaurant</accounts:displayName>
</accounts:role>
<accounts:role name="role_cuisinier">
<accounts:displayName>Cuisinier</accounts:displayName>
</accounts:role>
<accounts:role name="role_direction">
<accounts:displayName>Direction</accounts:displayName>
</accounts:role>
</accounts:roles>
</accounts:accounts>
Groupes
Nos groupes s’organisent de la façon suivante : Le
groupe Personnel du restaurant
contient les groupes Direction
et Cuisiniers
(Cela montre l’héritage entre les groupes)
Nous associons les rôles respectifs à chaque groupe. Ainsi, tous les utilisateurs présents dans ce groupe porteront
le(s) rôle(s) associé(s) à ce dernier. Rendons-nous dans le fichier
src/vendor/<vendorName>/<moduleName>/Accounts/110-RestauratecGroups.xml
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<accounts:accounts xmlns:accounts="https://platform.anakeen.com/4/schemas/account/1.0">
<accounts:groups>
<accounts:group name="group_restaurant_member">
<accounts:displayName>Personnel du restaurant</accounts:displayName>
<!-- reset à true indique que lors d’une réinstallation, si ces associations existent, elles seront remplacées -->
<accounts:associatedRoles reset="true">
<!-- Associe le rôle `restaurant_member` précédemment créé au groupe en train d’être créé -->
<accounts:associatedRole ref="role_restaurant_member"/>
<accounts:associatedRole ref="hub-user-role"/>
</accounts:associatedRoles>
</accounts:group>
<accounts:group name="group_cuisinier">
<accounts:displayName>Cuisiniers</accounts:displayName>
<accounts:associatedRoles reset="true">
<!-- Associe le rôle `cuisinier` précédemment créé au groupe en train d’être créé -->
<accounts:associatedRole ref="role_cuisinier" />
</accounts:associatedRoles>
<accounts:parentGroups>
<!-- `group_cuisinier` a pour groupe parent `group_restaurant_member` -->
<accounts:parentGroup ref="group_restaurant_member"/>
</accounts:parentGroups>
</accounts:group>
<accounts:group name="group_direction">
<accounts:displayName>Direction</accounts:displayName>
<accounts:associatedRoles reset="true">
<!-- Associe le rôle `direction` précédemment créé au groupe en train d’être créé -->
<accounts:associatedRole ref="role_direction" />
<accounts:associatedRole ref="accounts_manager_role" />
</accounts:associatedRoles>
<accounts:parentGroups>
<!-- `group_direction` a pour groupe parent `group_restaurant_member` -->
<accounts:parentGroup ref="group_restaurant_member"/>
</accounts:parentGroups>
</accounts:group>
</accounts:groups>
</accounts:accounts>
Utilisateurs
Nous allons maintenant créer plusieurs utilisateurs : le directeur et les cuisiniers. Pour cela, rendons-nous dans le
fichier src/vendor/<vendorName>/<moduleName>/Accounts/120-RestauratecUsers.xml
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<accounts:accounts xmlns:accounts="https://platform.anakeen.com/4/schemas/account/1.0">
<accounts:users>
<!-- Directeur -->
<accounts:user login="pope">
<accounts:firstname>Henry</accounts:firstname>
<accounts:lastname>Pope</accounts:lastname>
<accounts:mail>henry.pope@example.net</accounts:mail>
<accounts:password crypted="false">a</accounts:password>
<accounts:status activated="true"/>
<accounts:associatedRoles>
<!-- Associe le rôle `directeur` précédemment créé à cet utilisateur -->
<accounts:associatedRole ref="role_direction"/>
</accounts:associatedRoles>
</accounts:user>
<!-- Cuisiniers -->
<accounts:user login="scofield">
<accounts:firstname>Michael</accounts:firstname>
<accounts:lastname>Scofield</accounts:lastname>
<accounts:mail>michael.scofield@example.net</accounts:mail>
<accounts:password crypted="false">a</accounts:password>
<accounts:status activated="true"/>
<accounts:parentGroups>
<!-- Associe le groupe `cuisiniers` précédemment créé à cet utilisateur -->
<accounts:parentGroup ref="group_cuisinier"/>
</accounts:parentGroups>
</accounts:user>
<accounts:user login="burrows">
<accounts:firstname>Lincoln</accounts:firstname>
<accounts:lastname>Burrows</accounts:lastname>
<accounts:mail>lincoln.burrows@example.net</accounts:mail>
<accounts:password crypted="false">a</accounts:password>
<accounts:status activated="true"/>
<accounts:parentGroups>
<!-- Associe le groupe `cuisiniers` précédemment créé à cet utilisateur -->
<accounts:parentGroup ref="group_cuisinier"/>
</accounts:parentGroups>
</accounts:user>
</accounts:users>
</accounts:accounts>
Attention
Pensez à effectuer une réinstallation afin que l’application prenne en compte les modifications effectuées :
npx @anakeen/anakeen-cli deploy -c http://localhost:8080/control -s . -u admin -p anakeen --reinstall
Vérification / Résultat
Il est possible de consulter dans le centre d’administration les comptes créés. Pour cela, rendez-vous dans la partie
Compte
de ce dernier : http://localhost:8080/admin/accounts/results
;