Frappe Framework
Exécuter du code sur les événements d’un DocType
Le code qui réagit au cycle de vie d’un document s’écrit dans la classe contrôleur du DocType, pas à côté.
Où écrire le code
Pour exécuter du code à l’insertion, à la validation avant enregistrement, à la mise à jour, à la soumission, à l’annulation ou à la suppression, écrivez-le dans le module contrôleur du DocType.
Ce module est dans le dossier doctype du module. Pour la tâche (ToDo), la source indique frappe/desk/doctype/todo/todo.py en version 5. Un modèle de contrôleur est créé avec le DocType : une classe qui hérite de Document. L’exemple publié s’appelle CustomType.
Propriétés
Tous les champs et toutes les tables enfants sont des attributs de la classe. Le nom est self.name.
Méthodes standard
| Méthode | Moment |
|---|---|
autoname | Pendant le nommage. On peut y affecter self.name. |
before_insert | Avant l’insertion |
validate | Avant l’enregistrement. Une exception empêche l’enregistrement. |
on_update | Après l’insertion ou la mise à jour en base |
on_submit | Après la soumission |
on_cancel | Après l’annulation |
on_trash | Après la suppression |
Point d’attention
validate est le moment indiqué pour refuser l’enregistrement. on_update couvre à la fois l’insertion et la mise à jour. La source ne montre pas le corps de ces méthodes, seulement leur place dans le cycle.
