Documentation Frappe Framework

Frappe Framework

Rôles du portail

Les utilisateurs du site voient le menu selon leur rôle. Un rôle par défaut se définit dans Portal Settings, sur une entrée de menu, ou par une règle.

1 min de lectureMis à jour le Source : docs.frappe.io

À quoi servent les rôles du portail

À partir de la version 7.1, des rôles peuvent être attribués aux utilisateurs du site (Website Users). Le menu qu’ils voient dépend de leur rôle.

Trois leviers

  1. Un rôle par défaut se définit dans Portal Settings.
  2. Chaque entrée de menu du portail (Portal Menu Item) peut porter un rôle. Si un rôle est indiqué, seuls les utilisateurs qui l’ont voient cette entrée.
  3. Des règles de hooks peuvent poser des rôles par défaut sur les utilisateurs par défaut.

Règles de rôle par défaut

L’exemple associe un rôle quand l’adresse e-mail correspond à une fiche. Client (Customer) ou fournisseur (Supplier) si le contact lié est renseigné, étudiant (Student) via l’e-mail de l’étudiant :

python
default_roles = [
    {"role": "Customer", "doctype": "Contact", "email_field": "email_id",
     "filters": {'ifnull(customer, "")': ("!=", "")}},
    {"role": "Supplier", "doctype": "Contact", "email_field": "email_id",
     "filters": {'ifnull(supplier, "")': ("!=", "")}},
    {"role": "Student", "doctype": "Student", "email_field": "student_email_id"},
]

Chaque règle nomme le rôle, le DocType, le champ e-mail, et éventuellement des filtres.

Point d’attention

Sans rôle sur une entrée de menu, la source ne dit pas que l’entrée est masquée : le filtre s’applique quand un rôle est défini sur l’entrée. Les filtres Client et Fournisseur exigent un contact dont le lien n’est pas vide.