From 8bfa6df1a6f89e34ed5358bfa6d9e6a1361c6739 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 17 Aug 2020 15:53:14 +0200 Subject: [PATCH] FIX Update extrafields on line only if it is supported Conflicts: htdocs/modulebuilder/template/class/myobject.class.php --- htdocs/core/class/commonobject.class.php | 5 ++--- .../template/class/myobject.class.php | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 9894d2e6c64..fad47cb7fd3 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -8500,9 +8500,8 @@ abstract class CommonObject if (empty($error)) { // Remove extrafields - if (!$error) - { - $tmpobjectline = new $tmpforobjectlineclass($this->db); + $tmpobjectline = new $tmpforobjectlineclass($this->db); + if (!isset($tmpobjectline->isextrafieldmanaged) || !empty($tmpobjectline->isextrafieldmanaged)) { $tmpobjectline->id = $idline; $result = $tmpobjectline->deleteExtraFields(); if ($result < 0) diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index 8fe0b67a233..85d07810f54 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -1085,4 +1085,19 @@ class MyObjectLine { // To complete with content of an object MyObjectLine // We should have a field rowid, fk_myobject and position + + /** + * @var int Does object support extrafields ? 0=No, 1=Yes + */ + public $isextrafieldmanaged = 0; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + public function __construct(DoliDB $db) + { + $this->db = $db; + } }