From fc6257926b3221f47dff6412220cb1923a3ed99f Mon Sep 17 00:00:00 2001 From: Thibault Dockx <thibault.dockx@fusiondirectory.org> Date: Thu, 23 Nov 2023 12:04:39 +0000 Subject: [PATCH] :sparkles: Feat(Tasks) - Adds BCC Adds BCC --- contrib/openldap/core-fd.schema | 17 ++++++++++++++--- .../configuration/tasks/class_tasksGranular.inc | 3 +++ plugins/configuration/tasks/class_tasksMail.inc | 9 +++++++-- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/contrib/openldap/core-fd.schema b/contrib/openldap/core-fd.schema index b64b48bef..c8429d3d4 100644 --- a/contrib/openldap/core-fd.schema +++ b/contrib/openldap/core-fd.schema @@ -182,6 +182,11 @@ attributetype ( 1.3.6.1.4.1.38414.62.1.18 NAME 'fdTasksEmailSender' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +attributetype ( 1.3.6.1.4.1.38414.62.1.55 NAME 'fdTasksEmailBCC' + DESC 'Fusion Directory - Emails derived from DN' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) + attributetype ( 1.3.6.1.4.1.38414.62.1.19 NAME 'fdTasksMailType' DESC 'Fusion Directory - Type of Mail attribute required' EQUALITY caseExactMatch @@ -222,6 +227,11 @@ attributetype ( 1.3.6.1.4.1.38414.62.1.25 NAME 'fdTasksGranularMailFrom' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +attributetype ( 1.3.6.1.4.1.38414.62.1.56 NAME 'fdTasksGranularMailBCC' + DESC 'Fusion Directory - Emails sender if object mail' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) + attributetype ( 1.3.6.1.4.1.38414.62.1.26 NAME 'fdTasksGranularRef' DESC 'Fusion Directory - Reference towards a CN (E.g Mail Template)' EQUALITY caseExactMatch @@ -471,13 +481,14 @@ objectclass (1.3.6.1.4.1.38414.62.2.6 NAME 'fdTasks' objectclass (1.3.6.1.4.1.38414.62.2.7 NAME 'fdTasksMail' DESC 'FusionDirectory - Tasks objects Mail' SUP top AUXILIARY - MUST ( fdTasksMailObject $ fdTasksEmailSender ) - MAY ( fdTasksMailUsers $ fdTasksEmailsFromDN $ fdTasksMailType ) ) + MUST ( fdTasksMailObject $ fdTasksEmailSender ) + MAY ( fdTasksMailUsers $ fdTasksEmailsFromDN $ fdTasksMailType $ fdTasksEmailBCC ) ) objectclass (1.3.6.1.4.1.38414.62.2.8 NAME 'fdTasksGranular' DESC 'FusionDirectory - Tasks granular objects' MUST ( fdTasksGranularMaster $ cn $ fdTasksGranularMail $ fdTasksGranularMailFrom $ - fdTasksGranularRef $ fdTasksGranularType $ fdTasksGranularSchedule $ fdTasksGranularStatus )) + fdTasksGranularRef $ fdTasksGranularType $ fdTasksGranularSchedule $ fdTasksGranularStatus ) + MAY (fdTasksGranularMailBCC)) objectclass (1.3.6.1.4.1.38414.62.2.9 NAME 'fdTasksConf' DESC 'FusionDirectory - Tasks objects Configuration' diff --git a/plugins/configuration/tasks/class_tasksGranular.inc b/plugins/configuration/tasks/class_tasksGranular.inc index bd5e4285e..27de2a9e3 100644 --- a/plugins/configuration/tasks/class_tasksGranular.inc +++ b/plugins/configuration/tasks/class_tasksGranular.inc @@ -66,6 +66,9 @@ class tasksGranular extends simplePlugin new MailAttribute( _('Email'), _('Email address from which emails will be sent'), 'fdTasksGranularMailFrom', TRUE), + new MailAttribute( + _('Email'), + _('BCC Email address'), 'fdTasksGranularMailBCC', FALSE), new DateTimeAttribute( _('Schedule'), '', 'fdTasksGranularSchedule', FALSE diff --git a/plugins/configuration/tasks/class_tasksMail.inc b/plugins/configuration/tasks/class_tasksMail.inc index cb8781118..ee4a548f4 100644 --- a/plugins/configuration/tasks/class_tasksMail.inc +++ b/plugins/configuration/tasks/class_tasksMail.inc @@ -58,11 +58,14 @@ class tasksMail extends simplePlugin ] ], 'From Component' => [ - 'name' => _('Sender email address'), + 'name' => _('Sender and BCC email address'), 'attrs' => [ new MailAttribute( _('Sender email address'), _('Email address from which mails will be sent'), 'fdTasksEmailSender', TRUE, 'to.be@chang.ed'), + new MailAttribute( + _('BCC email address'), + _('Email address to put in BCC'), 'fdTasksEmailBCC', FALSE, ''), ] ], 'UserGroupSelection' => [ @@ -248,6 +251,7 @@ class tasksMail extends simplePlugin // Ref is supposed to be the mail object CN in this class $ref = $this->attributesAccess['fdTasksMailObject']->getValue(); $from = $this->attributesAccess['fdTasksEmailSender']->getValue(); + $bcc = $this->attributesAccess['fdTasksEmailBCC']->getValue(); // Take the attribute from the other tabs - attribute cannot be null or unset by default $schedule = $this->parent->getBaseObject()->fdTasksScheduleDate ?? NULL; @@ -307,7 +311,8 @@ class tasksMail extends simplePlugin "fdTasksGranularMail" => $email, "fdTasksGranularSchedule" => $schedule, "fdTasksGranularRef" => $ref, - "fdTasksGranularMailFrom" => $from + "fdTasksGranularMailFrom" => $from, + "fdTasksGranularMailBCC" => $bcc ]; foreach ($values as $tab => $tabvalues) { -- GitLab