Overwrite Core Class

Bonjour à tous,

Nous sommes sur Dolibarr V18.0.3 et nous souhaitons étoffer le workflow de la fichinter qui nous sert pour les réparation en atelier entre autre.

Nous sommes donc sur le modul builder, et arrivons a faire pas mal de chose jusqu’ici tous va bien.

Par contre pour le workflow, j’avoue que je sèche.
Le workflow originel de fichinter est le suivant d’apres la class Fichinter.
const STATUS_DRAFT = 0; const STATUS_VALIDATED = 1; const STATUS_BILLED = 2; const STATUS_CLOSED = 3;

Nous souhaitons passé à ce workflow
const STATUS_DRAFT = 0; // Brouillon
const STATUS_VALIDATED = 1; // Encours
const STATUS_DONE = 2; // Intervention finie
const STATUS_DELIVERED = 3; // Livrée
const STATUS_BILLED = 4; // Facturée

Après avoir lu le wiki, ou regarder les hooks et autre triggers, je ne trouve pas de moyens de surcharger les constantes dans Dolibarr. A part modifier le fichier core ce qui est pour nous la dernière solution, car nous souhaitons pouvoir mettre à jour sans souci :slight_smile:

Donc ma question est la suivante : Existe-t-il une méthode pour surcharger un fichier class core à travers le modulebuilder ou autre méthode ?

Hello,

Voici une piste de solution même si elle n’est pas pertinente dans tous les cas.

Bonne soirée

Merci pour l’explication j’essaie cela aujourd’hui.

Bonjour,
attention si vous voulez « remplacer » les valeurs des constantes dolibarr vous allez rencontrer bon nombre de problèmes avec le reste du coeur.

mon conseil: dans votre module ajoutez un champ ou vous stockez « votre » état mais n’allez pas tenter de remplacer STATUS_BILLED=2 par STATUS_BILLED=4 … par exemple …

Merci pour la réponse je vas aussi essayer cela en créant un extrafields et ensuite utiliser celui ci pour intertioncard et list avec hook pour changer le workflow. Si j’ai bien compris la logique

J’ai décris ici comment surcharger une classe, sans rien changer aux fichiers internes :

Merci Dum77,

Je n’avais pas vu ton message. J’ai choisi de créer un extrafield pour ces nouveaux statut de fiche d’intervention et avec ModulBuilder de créer des hooks afin de modifier l’affichage et rajouter des boutons spécifique au besoin avec aussi des triggers. Cela m’as semblé être la meilleur solution car cet été nous allons migrer de la v18 à v21.