oryxr
1
Bonsoir a tous, j’ai pas mal de bouts de personnalisations a droite et a gauche dans dokos.
Je me demande s il ne serait pas intéressant que je regroupe tout dans une application pour permettre de mieux suivre les évolutions et mieux m y retrouver entre mes personnalisations et les évolutions de dokos.
merci pour vos conseils.
Salut @oryxr,
Les principaux avantages d’une app sont :
- Utiliser git pour le contrĂ´le de version
- Mettre en place des tests
- Pousser plus loin le custom (par ex - accès à toutes les functions python de Frappe, hooks de documents plus avancés, pouvoir écraser des classes ou méthodes etc.)
- Transporter facilement les personnalisations
Au-dela d’une poignée de scripts et champs custom ça me semble une bonne idée oui.
L’inconvénient principal que je vois est que si tu bascules sur le cloud frappe tu ne peux pas installer d’app customs sur les plans les moins cher. J’imagine que c’est similaire sur le cloud dokos mais je laisse la team dokos confirmer/infirmer 
Je te mets quelques infos sur comment procéder ci-dessous.
Champs et propriétés personnalisés
Quand ton bench est en mode develop
, Il y a une fonction « Exporter les personnalisations » dans le menu Personnaliser
des doctype
qui te permet de récupérer tes personnalisations pour celui-ci.
Scripts serveur
Il faut créer un ou plusieurs fichier python avec tes scripts puis référencer la function dans le fichier hook.py
de l’app (cf doc frappe).
Par exemple
doc_events = {
"Event": {
"before_save": [
"monapp.controllers.event.update_publication",
"monapp.controllers.event.email_technical_team"
],
"after_save": "monapp.controllers.event.sync_item_booking",
},
"Quotations": {
"before_validate": "monapp.controllers.quotation.update_project_event"
},
}
Scripts clients
Tu peux les référencer dans le fichier hook.py
Ă©galement.
Exemple
doctype_js = {"Sales Order": "public/js/group_order.js"}
Voila dans les grandes lignes !
A plus,
Antoine.
pmz
3
Bonjour,
Je me permet de vous joindre sur cette question.
Pour la table « user », j’ai le message « Core DocTypes cannot be customized. » et l’onglet formulaire est vide. Je suis en mode développeur.
Comment faire pour rajouter un champ dans ce cas ?
Merci !
Je me suis abonné à ta chaîne @Antoine_Maas
Merci @pmz !
Je ne pense pas que ce soit possible.
Si tu as besoin d’enregistrer des infos sur une personne tu peux éventuellement customiser le doctype Contact
qui est lié à l’utilisateur.
Antoine.
pmz
5
Ok, merci @Antoine_Maas
Ah zut, les utilisateurs importés ou créés par l’admin ne sont pas dans contact.
Bonjour @pmz,
Les personnalisations sont bloquées depuis l’UI pour les types de documents suivants:
core_doctypes_list = (
"DefaultValue",
"DocType",
"DocField",
"DocPerm",
"DocType Action",
"DocType Link",
"User",
"Role",
"Has Role",
"Page",
"Module Def",
"Print Format",
"Report",
"Customize Form",
"Customize Form Field",
"Property Setter",
"Custom Field",
"Client Script",
"Archived Document",
)
Certains utilisateurs avait apparemment trop poussées les personnalisation au point de rendre l’application inutilisable sans intervention d’un administrateur pour réinitialiser les propriétés des champs…
Par contre, via une application personnalisée, il est toujours possible de les personnaliser en utilisant la méthode indiquée par Corentin ici: Récupération des custom_field - #5 par corentin
Bonne journée
pmz
7
Merci !
Je viens de créer un autre fil spécifique où j’utilise mon app, mais où j’ai un petit problème.