diff --git a/include/ajax.tickets.php b/include/ajax.tickets.php index 989c44b5d5847ce141f35c39d8e7b875ebad0563..1cf501d73932bc90197877b6b9791b9d4a15ab7e 100644 --- a/include/ajax.tickets.php +++ b/include/ajax.tickets.php @@ -1315,6 +1315,16 @@ function refer($tid, $target=null) { $info=$errors=array(); + // Internal form + $iform = TaskForm::getInternalForm($_POST); + // Due date must be before tickets due date + if ($ticket && $ticket->getEstDueDate() + && Misc::db2gmtime($ticket->getEstDueDate()) > Misc::gmtime() + && ($f=$iform->getField('duedate'))) { + $f->configure('max', Misc::db2gmtime($ticket->getEstDueDate())); + } + + if ($_POST) { Draft::deleteForNamespace( sprintf('ticket.%d.task', $ticket->getId()), @@ -1322,8 +1332,7 @@ function refer($tid, $target=null) { // Default form $form = TaskForm::getInstance(); $form->setSource($_POST); - // Internal form - $iform = TaskForm::getInternalForm($_POST); + $isvalid = true; if (!$iform->isValid()) $isvalid = false;