From 926bec515908f93ae8a35979efaca800ac249d25 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@enhancesoft.com> Date: Thu, 24 Oct 2013 18:26:35 +0000 Subject: [PATCH] Clean drafts before nulling the ticket object Only clean note drafts unless the ticket is being closed. --- scp/tickets.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/scp/tickets.php b/scp/tickets.php index 455cbb41a..1058b80d9 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -167,23 +167,25 @@ if($_POST && !$errors): $errors['state'] = "You don't have permission to set the state"; } - $wasOpen = ($ticket->isOpen()); - $vars = $_POST; if($_FILES['attachments']) $vars['files'] = AttachmentFile::format($_FILES['attachments']); + $wasOpen = ($ticket->isOpen()); if(($note=$ticket->postNote($vars, $errors, $thisstaff))) { + // Cleanup drafts for the ticket. If not closed, only clean + // note drafts for this staff. Else clean all drafts for the ticket. + Draft::deleteForNamespace( + sprintf('ticket.%s.%d', + $ticket->isClosed() ? '%' : 'note', + $ticket->getId()), + $ticket->isOpen() ? $thisstaff->getId() : false); + $msg='Internal note posted successfully'; if($wasOpen && $ticket->isClosed()) $ticket = null; //Going back to main listing. - // Cleanup drafts for the ticket. If not closed, only clean - // for this staff. Else clean all drafts for the ticket. - Draft::deleteForNamespace('ticket.%.' . $ticket->getId(), - $ticket->isClosed() ? false : $thisstaff->getId()); - } else { if(!$errors['err']) -- GitLab