From 719ce1053d8d58a6b448ef5ae7b232d76c22ab7d Mon Sep 17 00:00:00 2001
From: Thibault Dockx <thibault.dockx@fusiondirectory.org>
Date: Mon, 1 Apr 2024 14:53:14 +0100
Subject: [PATCH] :sparkles: feat(Tasks) - Generate slave type with taskType

Adds taskType in order to have better generic description in case of added plugins to tasks
---
 plugins/configuration/tasks/class_tasks.inc          | 12 ++++++++++--
 plugins/configuration/tasks/class_tasksLifeCycle.inc |  2 +-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/plugins/configuration/tasks/class_tasks.inc b/plugins/configuration/tasks/class_tasks.inc
index 97b7bc4a3..63a3f2987 100644
--- a/plugins/configuration/tasks/class_tasks.inc
+++ b/plugins/configuration/tasks/class_tasks.inc
@@ -118,7 +118,15 @@ class tasks extends simplePlugin
     return parent::save();
   }
 
-  public function createSlaveTasks (array $listOfDN, string $attributeType, array $attrs = NULL): void
+  /**
+   * @param array $listOfDN
+   * @param string $attributeType
+   * @param array|NULL $attrs
+   * @param $taskType
+   * @return void
+   * Note : $taskType is present to define the object name related to life cycle (core) and any new plugins added to tasks.
+   */
+  public function createSlaveTasks (array $listOfDN, string $attributeType, array $attrs = NULL, string $taskType = ''): void
   {
     global $config;
     $ldap = $config->get_ldap_link();
@@ -195,7 +203,7 @@ class tasks extends simplePlugin
           case 'fdTasksGranularDN' :
             $prepData['tasksGranular'] = [
               "fdTasksGranularDN"   => $dn,
-              "fdTasksGranularType" => 'Life Cycle',
+              "fdTasksGranularType" => $taskType,
             ];
             break;
         }
diff --git a/plugins/configuration/tasks/class_tasksLifeCycle.inc b/plugins/configuration/tasks/class_tasksLifeCycle.inc
index 67f15e101..28ef57282 100644
--- a/plugins/configuration/tasks/class_tasksLifeCycle.inc
+++ b/plugins/configuration/tasks/class_tasksLifeCycle.inc
@@ -191,7 +191,7 @@ class tasksLifeCycle extends simplePlugin
     $attributeType = 'fdTasksGranularDN';
 
     // Call the method from parent tasks object (first tab) to create sub-tasks.
-    $this->parent->getBaseObject()->createSlaveTasks($listOfDN, $attributeType);
+    $this->parent->getBaseObject()->createSlaveTasks($listOfDN, $attributeType, NULL, 'Life Cycle');
   }
 
   public function update (): bool
-- 
GitLab