From ec8ddb14e576e703d371083781d8a40723f47629 Mon Sep 17 00:00:00 2001 From: Thibault Dockx <thibault.dockx@fusiondirectory.org> Date: Thu, 3 Nov 2022 21:19:36 +0000 Subject: [PATCH] :sparkles: Feat(Tasks) - Dashboard v0.5 Adding a boolean trigger within tasks allowing more security in order to not trigger the tasks and subtasks. --- plugins/addons/tasks/class_tasks.inc | 10 ++++++++++ plugins/addons/tasks/class_tasksMail.inc | 6 +++++- plugins/admin/tasks/class_tasksDashboard.inc | 1 - 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/addons/tasks/class_tasks.inc b/plugins/addons/tasks/class_tasks.inc index 11b96d29e..dd900c0ef 100644 --- a/plugins/addons/tasks/class_tasks.inc +++ b/plugins/addons/tasks/class_tasks.inc @@ -60,6 +60,15 @@ class tasks extends simplePlugin new HiddenAttribute('fdTasksCreationDate', TRUE, date("Y-m-d h:i:sa"), '', 'StartDate', 'Start Date And Time Of A Task'), ] ], + 'subTasks' => [ + 'name' => _('Creation of Sub Tasks - Starting this task'), + 'attrs' => [ + new BooleanAttribute( + _('Activate SubTasks'), _('Trigger the creation of this task and related subtasks'), + 'fdSubTasksActivation', FALSE + ), + ] + ], ]; } @@ -69,6 +78,7 @@ class tasks extends simplePlugin global $config; parent::__construct($dn, $object, $parent, $mainTab); + $this->attributesAccess['fdSubTasksActivation']->setInLdap(FALSE); } } diff --git a/plugins/addons/tasks/class_tasksMail.inc b/plugins/addons/tasks/class_tasksMail.inc index 3eef89891..a884b5572 100644 --- a/plugins/addons/tasks/class_tasksMail.inc +++ b/plugins/addons/tasks/class_tasksMail.inc @@ -141,7 +141,11 @@ class tasksMail extends simplePlugin function save (): array { - $this->generateSlaveTasks(); + $execTasks = $this->parent->getBaseObject()->fdSubTasksActivation ?? NULL; + + if ($execTasks) { + $this->generateSlaveTasks(); + } $errors = parent::save(); return $errors; diff --git a/plugins/admin/tasks/class_tasksDashboard.inc b/plugins/admin/tasks/class_tasksDashboard.inc index c20594916..45d497e63 100644 --- a/plugins/admin/tasks/class_tasksDashboard.inc +++ b/plugins/admin/tasks/class_tasksDashboard.inc @@ -97,7 +97,6 @@ class tasksDashboard extends management // This method is triggered during initiation of the dashboard, allowing proper icons status function setTasksActionStatus () : BOOL { - echo "setTasksActionStatus" .PHP_EOL; return TRUE; } -- GitLab