From ac136ec1aeee17edf8ab5f02e567fabdbb320600 Mon Sep 17 00:00:00 2001 From: John BOTELLA Date: Thu, 4 Jul 2024 08:56:39 +0200 Subject: [PATCH] Fix inconsistant link element (#30258) --- htdocs/core/class/commonobject.class.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index f8bbcd97511..6d49abf9902 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -8203,6 +8203,17 @@ abstract class CommonObject if (!empty($classpath)) { dol_include_once($InfoFieldList[1]); + + if ($classname && !class_exists($classname)) { + // from V19 of Dolibarr, In some cases link use element instead of class, example project_task + // TODO use newObjectByElement() introduce in V20 by PR #30036 for better errors management + $element_prop = getElementProperties($classname); + if ($element_prop) { + $classname = $element_prop['classname']; + } + } + + if ($classname && class_exists($classname)) { $object = new $classname($this->db); if ($object->element === 'product') { // Special case for product because default valut of fetch are wrong