From e20e7b2abb1284b9dc8af6988daefdd3cef362d6 Mon Sep 17 00:00:00 2001 From: Thibault Dockx <thibault.dockx@fusiondirectory.org> Date: Tue, 5 Mar 2024 13:25:02 +0000 Subject: [PATCH] :ambulance: Fix(Tasks) - OnlyNew Members errors Only new members - fixed --- plugins/configuration/tasks/class_tasks.inc | 14 ++++++++++---- .../configuration/tasks/class_tasksLifeCycle.inc | 5 +++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/plugins/configuration/tasks/class_tasks.inc b/plugins/configuration/tasks/class_tasks.inc index 1c32ae601..2f0f0a5c4 100644 --- a/plugins/configuration/tasks/class_tasks.inc +++ b/plugins/configuration/tasks/class_tasks.inc @@ -148,9 +148,15 @@ class tasks extends simplePlugin if (!empty($subTasks)) { // Recuperate members DN from the ldap search. foreach ($subTasks as $subTask) { - // Case of a DN passed but being locked. - if (!empty($subTask['fdTasksGranularDN'][0])) { - $membersDN[] = $subTask['fdTasksGranularDN'][0]; + + // For lifeCycle we check DN and for mailObject we check mail + switch ($attributeType) { + case 'fdTasksGranularDN': + $membersDN[] = $subTask['fdTasksGranularDN'][0]; + break; + case 'fdTasksGranularMail': + $membersDN[] = $subTask['fdTasksGranularMail'][0]; + break; } } // Verify the DN differences and only keep those. @@ -186,7 +192,7 @@ class tasks extends simplePlugin "fdTasksGranularMailBCC" => $attrs['bcc'] ]; break; - case 'fdTasksLifeCycle' : + case 'fdTasksGranularDN' : $prepData['tasksGranular'] = [ "fdTasksGranularDN" => $dn, "fdTasksGranularType" => 'Life Cycle', diff --git a/plugins/configuration/tasks/class_tasksLifeCycle.inc b/plugins/configuration/tasks/class_tasksLifeCycle.inc index b5a9f2aa2..67f15e101 100644 --- a/plugins/configuration/tasks/class_tasksLifeCycle.inc +++ b/plugins/configuration/tasks/class_tasksLifeCycle.inc @@ -186,8 +186,9 @@ class tasksLifeCycle extends simplePlugin */ public function generateSlaveTasks () { - $listOfDN = $this->attributesAccess['fdTasksLifeCycleListOfDN']->getValue(); - $attributeType = 'fdTasksLifeCycle'; + $listOfDN = $this->attributesAccess['fdTasksLifeCycleListOfDN']->getValue(); + // The attribute required to be search in createSlaveTasks + $attributeType = 'fdTasksGranularDN'; // Call the method from parent tasks object (first tab) to create sub-tasks. $this->parent->getBaseObject()->createSlaveTasks($listOfDN, $attributeType); -- GitLab