Dolibarr/dolibarr — pull request #28 by lrq3000 (2011-10-19 13:51:39+00:00)
Title: CustomFields porté avec les hooks vers la branche develop

Bonjour,

CF est enfin porté. J'ai eu quelques difficultés, notamment il ne fallait pas mettre d'array dans $this->const mais une chaine de caractere séparée par des : du genre "productcard:propalcard".

J'ai aussi mis le readme a jour (il est placé dans le dossier customfields), en détaillant les nouvelles étapes. Il sera encore plus aisé qu'auparavant d'adapter CF à d'autres modules, il faudra grosso modo:

1- ajouter le contexte dans $this->const
2- ajouter le cas de figure dans actions_customfields.php
3- ajouter les triggers pour gérer les actions

Il est à noter que la plupart du travail sera du simple copier-coller avec juste quelques paramètres à modifier en fonction de chaque cas.

Quelques autres notes:
- J'ai laissé les récupérateurs POST génériques dans les modules factures, devis, et generic odt template car c'est nécessaire pour pouvoir récupérer tous les customfields, et je pense que cela pourrait être utile pour d'autres cas. Après si vous trouvez un autre moyen de passer n'importe quelle valeur d'un champ custom en édition inline, libre à vous de supprimer cette partie.
- J'ai essayé le système proposé dans la documentation wiki pour la substitution des arrays, mais cela ne semble pas fonctionner. Cela ne semble pas venir de mon code, puisque j'ai essayé exactement le même exemple simple qu'il y a écrit dans le wiki (à savoir juste une simple définition d'un index de substitutionarray), mais cela ne fonctionne pas du tout (toutes les autres substitutions habituelles de Dolibarr fonctionnent sinon, juste celle-ci ne fonctionne pas).
Lorsque ce problème (bug?) sera corrigé, CustomFields devrait fonctionner automatiquement car j'ai déjà porté le code de substitution odt dans le fichier substitutions/functions_customfields.lib.php.

J'espère que le résultat conviendra aux conventions et standards du projet Dolibarr. Merci pour votre soutien dans l'avancement de cette fonctionnalité.

Cordialement,
Stephen LARROQUE