From 4bf4117d6b2b7c553e64afcfed9df2423a07aecd Mon Sep 17 00:00:00 2001 From: aydreeihn <adriane@enhancesoft.com> Date: Wed, 16 May 2018 16:31:20 -0500 Subject: [PATCH] New Email Templates for BCC'd Collaborators Different email templates will now go out for BCC'd collaborators so that the User will be able to know they are blind copied on a ticket. Template Names: - New Activity Notice (BCC) - New Ticket Notice (BCC) - Response/Reply Template (BCC) --- include/class.template.php | 36 ++++++++++++++++++++++++++++++++++++ include/class.ticket.php | 8 +++++--- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/include/class.template.php b/include/class.template.php index 53f1caf43..4e73ecb32 100644 --- a/include/class.template.php +++ b/include/class.template.php @@ -60,6 +60,14 @@ class EmailTemplateGroup { 'ticket', 'signature', 'recipient', 'staff', 'message', ), ), + 'ticket.notice.bcc'=>array( + 'group'=>'a.ticket.user', + 'name'=>/* @trans */ 'New Ticket Notice (BCC)', + 'desc'=>/* @trans */ 'Notice sent to BCCd users, if enabled, on new ticket created by an agent on behalf of a user (e.g phone calls).', + 'context' => array( + 'ticket', 'signature', 'recipient', 'staff', 'message', + ), + ), 'ticket.overlimit'=>array( 'group'=>'a.ticket.user', 'name'=>/* @trans */ 'Overlimit Notice', @@ -76,6 +84,14 @@ class EmailTemplateGroup { 'ticket', 'signature', 'response', 'staff', 'poster', 'recipient', ), ), + 'ticket.reply.bcc'=>array( + 'group'=>'a.ticket.user', + 'name'=>/* @trans */ 'Response/Reply Template (BCC)', + 'desc'=>/* @trans */ 'Template used on ticket response/reply', + 'context' => array( + 'ticket', 'signature', 'response', 'staff', 'poster', 'recipient', + ), + ), 'ticket.activity.notice'=>array( 'group'=>'a.ticket.user', 'name'=>/* @trans */ 'New Activity Notice', @@ -84,6 +100,14 @@ class EmailTemplateGroup { 'ticket', 'signature', 'message', 'poster', 'recipient', ), ), + 'ticket.activity.notice.bcc'=>array( + 'group'=>'a.ticket.user', + 'name'=>/* @trans */ 'New Activity Notice (BCC)', + 'desc'=>/* @trans */ 'Template used to notify BCCd collaborators on ticket activity', + 'context' => array( + 'ticket', 'signature', 'message', 'poster', 'recipient', + ), + ), 'ticket.alert'=>array( 'group'=>'b.ticket.staff', 'name'=>/* @trans */ 'New Ticket Alert', @@ -309,6 +333,10 @@ class EmailTemplateGroup { return $this->getMsgTemplate('ticket.notice'); } + function getNewTicketNoticeBCCMsgTemplate() { + return $this->getMsgTemplate('ticket.notice.bcc'); + } + function getNewMessageAutorepMsgTemplate() { return $this->getMsgTemplate('message.autoresp'); } @@ -325,10 +353,18 @@ class EmailTemplateGroup { return $this->getMsgTemplate('ticket.reply'); } + function getReplyBCCMsgTemplate() { + return $this->getMsgTemplate('ticket.reply.bcc'); + } + function getActivityNoticeMsgTemplate() { return $this->getMsgTemplate('ticket.activity.notice'); } + function getActivityNoticeBCCMsgTemplate() { + return $this->getMsgTemplate('ticket.activity.notice.bcc'); + } + function getOverlimitMsgTemplate() { return $this->getMsgTemplate('ticket.overlimit'); } diff --git a/include/class.ticket.php b/include/class.ticket.php index 664ba874a..3c2856d3b 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -1564,6 +1564,7 @@ implements RestrictedAccess, Threadable, Searchable { || !($dept=$this->getDept()) || !($tpl=$dept->getTemplate()) || !($msg=$tpl->getActivityNoticeMsgTemplate()) + || !($bccmsg=$tpl->getActivityNoticeBCCMsgTemplate()) || !($email=$dept->getEmail()) ) { return; @@ -1593,6 +1594,7 @@ implements RestrictedAccess, Threadable, Searchable { ); $msg = $this->replaceVars($msg->asArray(), $vars); + $bccmsg = $this->replaceVars($bccmsg->asArray(), $vars); $attachments = $cfg->emailAttachments()?$entry->getAttachments():array(); $options = array('thread' => $entry); @@ -1627,7 +1629,7 @@ implements RestrictedAccess, Threadable, Searchable { //send bcc messages seperately for privacy if ($collabsBcc) { foreach ($collabsBcc as $recipient) { - $notice = $this->replaceVars($msg, array('recipient' => $recipient)); + $notice = $this->replaceVars($bccmsg, array('recipient' => $recipient)); if ($posterEmail != $recipient->getEmail()->address) $email->send($recipient, $notice['subj'], $notice['body'], $attachments, $options); @@ -2988,7 +2990,7 @@ implements RestrictedAccess, Threadable, Searchable { if ($vars['bccs'] && $vars['emailcollab'] && ($bcctpl = $dept->getTemplate()) - && ($bccmsg=$bcctpl->getReplyMsgTemplate())) { + && ($bccmsg=$bcctpl->getReplyBCCMsgTemplate())) { foreach ($vars['bccs'] as $uid) { if (!($recipient = User::lookup($uid))) continue; @@ -4183,7 +4185,7 @@ implements RestrictedAccess, Threadable, Searchable { if ($collabsBcc) { foreach ($collabsBcc as $recipient) { if (($tpl=$dept->getTemplate()) - && ($bccmsg=$tpl->getNewTicketNoticeMsgTemplate()) + && ($bccmsg=$tpl->getNewTicketNoticeBCCMsgTemplate()) && ($email=$dept->getEmail()) ) $extraVars = UsersName::getNameFormats($recipient, 'recipient'); -- GitLab