Je travaille sur l’interfaçage de Dolibarr avec un logiciel métier (fait maison). Pour cela j’ai besoin de savoir si un pays est en Union Européenne ou pas (par exemple pour choisir si j’applique une TVA au moment de la création de factures dans Dolibarr via l’API).
J’envoie donc le code Pays à l’API REST. Par exemple, pour la France, j’envoie « FR » :
Comment faire pour ajouter ce champ au résultat de l’API (sans modifier le code source évidement, car cela serait cassé dès la première montée de version) ?
Cela sort un peu de mes compétences, mais ChatGPT m’a donné un petit coup de pouce :
Fichier htdocs/api/class/api_setup.class.php, dans la définition de fonction private function _fetchCcountry($id, $code = '', $iso = '', $lang = '') :
$country->eec = $country->eec;
est à ajouter ligne 655, juste avant : $this->translateLabel($country, $lang, 'Country');
Et dans le fichier htdocs/core/class/ccountry.class.php, dans la définition de fonction public function fetch($id, $code = '', $code_iso = '') :
$sql .= " t.active";
est à remplacer, ligne 140, par : $sql .= " t.active,"; $sql .= " t.eec";
et $this->eec = $obj->eec;
est à ajouter, ligne 161, juste après $this->active = $obj->active;
Ces changements fonctionnent bien !
Par contre, si quelqu’un du projet Dolibarr peut s’en occuper, je veux bien que le change soit soumis pour la 20.0.4 par quelqu’un qui a en a l’habitude…