From b3060729b3b1aae88ebd99d9fca0b5c3080f30cb Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Mon, 23 Feb 2026 16:49:13 +0100 Subject: [PATCH 1/3] Fix(abstractitiltarget): Restore predefined field computation from category (with template) --- inc/abstractitiltarget.class.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/inc/abstractitiltarget.class.php b/inc/abstractitiltarget.class.php index 7a1fb8d6c..3f800acb8 100644 --- a/inc/abstractitiltarget.class.php +++ b/inc/abstractitiltarget.class.php @@ -2290,6 +2290,9 @@ public function getDefaultData(PluginFormcreatorFormAnswer $formanswer): array { $data = $targetItemtype::getDefaultValues(); + + $data = $this->setTargetCategory($data, $formanswer); + $this->fields[$targetTemplateFk] = $this->getTargetTemplate($data); // Get predefined Fields @@ -2323,6 +2326,16 @@ public function getDefaultData(PluginFormcreatorFormAnswer $formanswer): array { unset($predefined_fields['_groups_id_assign']); } + if (isset($predefined_fields['_groups_id_assign'])) { + $this->addGroupActor(PluginFormcreatorTarget_Actor::ACTOR_ROLE_ASSIGNED, $predefined_fields['_groups_id_assign']); + unset($predefined_fields['_groups_id_assign']); + } + + if (isset($predefined_fields['itilcategories_id'])) { + $data['itilcategories_id'] = $predefined_fields['itilcategories_id']; + unset($predefined_fields['itilcategories_id']); + } + // Manage special values if (!isset($predefined_fields['date']) || isset($predefined_fields['date']) && $predefined_fields['date'] == 'NOW') { $predefined_fields['date'] = $_SESSION['glpi_currenttime']; @@ -2330,12 +2343,12 @@ public function getDefaultData(PluginFormcreatorFormAnswer $formanswer): array { $data = array_merge($data, $predefined_fields); - $data = $this->setTargetCategory($data, $formanswer); if (($data['requesttypes_id'] ?? 0) == 0) { unset($data['requesttypes_id']); } + return $data; } From 8a7a52cc2be4739d54aab0c905c60eb86e82604d Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Mon, 23 Feb 2026 16:51:16 +0100 Subject: [PATCH 2/3] fix bad copy paste --- inc/abstractitiltarget.class.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/inc/abstractitiltarget.class.php b/inc/abstractitiltarget.class.php index 3f800acb8..646884f4a 100644 --- a/inc/abstractitiltarget.class.php +++ b/inc/abstractitiltarget.class.php @@ -2326,11 +2326,6 @@ public function getDefaultData(PluginFormcreatorFormAnswer $formanswer): array { unset($predefined_fields['_groups_id_assign']); } - if (isset($predefined_fields['_groups_id_assign'])) { - $this->addGroupActor(PluginFormcreatorTarget_Actor::ACTOR_ROLE_ASSIGNED, $predefined_fields['_groups_id_assign']); - unset($predefined_fields['_groups_id_assign']); - } - if (isset($predefined_fields['itilcategories_id'])) { $data['itilcategories_id'] = $predefined_fields['itilcategories_id']; unset($predefined_fields['itilcategories_id']); From c6f774301b1ea9de26d1ecd65842fef0e863425b Mon Sep 17 00:00:00 2001 From: Stanislas Kita Date: Mon, 23 Feb 2026 16:52:42 +0100 Subject: [PATCH 3/3] fix CS --- inc/abstractitiltarget.class.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/inc/abstractitiltarget.class.php b/inc/abstractitiltarget.class.php index 646884f4a..fc286023d 100644 --- a/inc/abstractitiltarget.class.php +++ b/inc/abstractitiltarget.class.php @@ -2290,7 +2290,6 @@ public function getDefaultData(PluginFormcreatorFormAnswer $formanswer): array { $data = $targetItemtype::getDefaultValues(); - $data = $this->setTargetCategory($data, $formanswer); $this->fields[$targetTemplateFk] = $this->getTargetTemplate($data); @@ -2338,12 +2337,10 @@ public function getDefaultData(PluginFormcreatorFormAnswer $formanswer): array { $data = array_merge($data, $predefined_fields); - if (($data['requesttypes_id'] ?? 0) == 0) { unset($data['requesttypes_id']); } - return $data; }