diff --git a/include/class.ticket.php b/include/class.ticket.php index 9e7771908d6afd5ba56bddcf9c2a65a77c47d873..1698aa39bebce536033660da3bd8af00b455640e 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -454,9 +454,9 @@ implements RestrictedAccess, Threadable, Searchable { } function updateEstDueDate($clearOverdue=true) { - $DueDate = $this->getEstDueDate(); $this->est_duedate = $this->getSLADueDate(); // Clear overdue flag if duedate or SLA changes and the ticket is no longer overdue. + $DueDate = $this->getEstDueDate(); if ($this->isOverdue() && $clearOverdue && (!$DueDate // Duedate + SLA cleared @@ -3306,22 +3306,14 @@ implements RestrictedAccess, Threadable, Searchable { $this->selectSLAId(); } - // Update estimated due date in database - $estimatedDueDate = $this->getEstDueDate(); - $this->updateEstDueDate(); - - // Clear overdue flag if duedate or SLA changes and the ticket is no longer overdue. - if($this->isOverdue() - && (!$estimatedDueDate //Duedate + SLA cleared - || Misc::db2gmtime($estimatedDueDate) > Misc::gmtime() //New due date in the future. - )) { - $this->clearOverdue(); - } + if (!$this->save()) + return false; + $this->updateEstDueDate(); Signal::send('model.updated', $this); - return $this->save(); - } + return true; + } function updateField($form, &$errors) { global $thisstaff, $cfg; @@ -3397,11 +3389,10 @@ implements RestrictedAccess, Threadable, Searchable { $this->lastupdate = SqlFunction::NOW(); + $this->save(); if ($updateDuedate) $this->updateEstDueDate(); - $this->save(); - Signal::send('model.updated', $this); return true;