From a2954699c37a8b29895f97feee50de2d337a1a75 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Wed, 6 Mar 2013 13:08:14 -0500 Subject: [PATCH] Remove SLA when overdue flag is cleared AND est. duedate is in the past. Only managers can manually clear overdue tickets. --- include/class.ticket.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/class.ticket.php b/include/class.ticket.php index 0c2d221ad..df6459004 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -1097,11 +1097,18 @@ class Ticket { if(!$this->isOverdue()) return true; + //NOTE: Previously logged overdue event is NOT annuled. + $sql='UPDATE '.TICKET_TABLE.' SET isoverdue=0, updated=NOW() '; + //clear due date if it's in the past if($this->getDueDate() && strtotime($this->getDueDate())<=time()) $sql.=', duedate=NULL'; + //Clear SLA if est. due date is in the past + if($this->getSLADueDate() && strtotime($this->getSLADueDate())<=time()) + $sql.=', sla_id=0 '; + $sql.=' WHERE ticket_id='.db_input($this->getId()); return (db_query($sql) && db_affected_rows()); -- GitLab