diff --git a/include/class.task.php b/include/class.task.php index d3a09b9b5bdea2789b762d72fbfb8512f52efca9..dcb19c81243bc34a73afe4b28e510aa2918259f0 100644 --- a/include/class.task.php +++ b/include/class.task.php @@ -59,7 +59,6 @@ class TaskModel extends VerySimpleModel { 'ticket' => array( 'constraint' => array( - 'object_type' => "'T'", 'object_id' => 'Ticket.ticket_id', ), 'null' => true, @@ -535,8 +534,17 @@ class Task extends TaskModel implements RestrictedAccess, Threadable { $this->reopen(); $this->closed = null; - $ecb = function ($t) { + $ecb = function ($t) use($thisstaff) { $t->logEvent('reopened', false, null, 'closed'); + if ($t->ticket) { + $t->ticket->reopen(); + $vars = array( + 'title' => sprintf('Task %s Reopened', + $t->getNumber()), + 'note' => __('Task reopened') + ); + $t->ticket->logNote($vars['title'], $vars['note'], $thisstaff); + } }; break; case 'closed': @@ -553,8 +561,16 @@ class Task extends TaskModel implements RestrictedAccess, Threadable { $this->close(); $this->closed = SqlFunction::NOW(); - $ecb = function($t) { + $ecb = function($t) use($thisstaff) { $t->logEvent('closed'); + if ($t->ticket) { + $vars = array( + 'title' => sprintf('Task %s Closed', + $t->getNumber()), + 'note' => __('Task closed') + ); + $t->ticket->logNote($vars['title'], $vars['note'], $thisstaff); + } }; break; default: