diff --git a/scp/tickets.php b/scp/tickets.php index 17235eb62f1368744bc5a5164bb42cde496e600f..7de8a89fb49bc165f769a4e1a4575565c5e6edbb 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -63,24 +63,29 @@ if($_POST && !$errors): $errors['err']=__('Email is in banlist. Must be removed to reply.'); } - $wasOpen =($ticket->isOpen()); - //If no error...do the do. $vars = $_POST; if(!$errors && $_FILES['attachments']) $vars['files'] = AttachmentFile::format($_FILES['attachments']); if(!$errors && ($response=$ticket->postReply($vars, $errors, $_POST['emailreply']))) { - $msg=__('Reply posted successfully'); - $ticket->reload(); - - if($ticket->isClosed() && $wasOpen) - $ticket=null; - else - // Still open -- cleanup response draft for this user - Draft::deleteForNamespace( - 'ticket.response.' . $ticket->getId(), - $thisstaff->getId()); + $msg = sprintf(__('%s: Reply posted successfully'), + sprintf(__('Ticket #%s'), + sprintf('<a href="tickets.php?id=%d"><b>%s</b></a>', + $ticket->getId(), $ticket->getNumber())) + ); + + // Remove staff's locks + TicketLock::removeStaffLocks($thisstaff->getId(), + $ticket->getId()); + + // Cleanup response draft for this user + Draft::deleteForNamespace( + 'ticket.response.' . $ticket->getId(), + $thisstaff->getId()); + + // Go back to the ticket listing page on reply + $ticket = null; } elseif(!$errors['err']) { $errors['err']=__('Unable to post the reply. Correct the errors below and try again!');