diff --git a/api/v1/entries/taskfinish.php b/api/v1/entries/taskfinish.php index 635e054790..e0120e3986 100644 --- a/api/v1/entries/taskfinish.php +++ b/api/v1/entries/taskfinish.php @@ -28,17 +28,18 @@ class taskFinishEntry extends entry $fields = 'finishedDate,comment'; $this->batchSetPost($fields); + $realStarted = $this->request('realStarted', (isset($task->realStarted) and !helper::isZeroDate($task->realStarted)) ? $task->realStarted : ''); + if($realStarted) $this->setPost('realStarted', $realStarted); $this->setPost('currentConsumed', $this->request('currentConsumed', 0)); $this->setPost('consumed', $this->request('currentConsumed', 0) + $task->consumed); $control = $this->loadController('task', 'finish'); - $this->requireFields('assignedTo,currentConsumed,realStarted,finishedDate'); + $this->requireFields('currentConsumed,realStarted,finishedDate'); $control->finish($taskID); $data = $this->getData(); if(!$data) return $this->send400('error'); - if(isset($data->status) and $data->status == 'fail') return $this->sendError(zget($data, 'code', 400), $data->message); - if(isset($data->result) and $data->result == 'fail') return $this->sendError(zget($data, 'code', 400), $data->message); + if(isset($data->result) and $data->result == 'fail') return $this->sendError(400, $data->message); $task = $this->loadModel('task')->getByID($taskID); diff --git a/api/v1/entries/taskpause.php b/api/v1/entries/taskpause.php index e3bcf2f529..73f3c39b3f 100644 --- a/api/v1/entries/taskpause.php +++ b/api/v1/entries/taskpause.php @@ -30,7 +30,7 @@ class taskPauseEntry extends entry $data = $this->getData(); if(!$data) return $this->send400('error'); - if(isset($data->status) and $data->status == 'fail') return $this->sendError(zget($data, 'code', 400), $data->message); + if(isset($data->result) and $data->result == 'fail') return $this->sendError(400, $data->message); $task = $this->loadModel('task')->getByID($taskID); diff --git a/api/v1/entries/taskrestart.php b/api/v1/entries/taskrestart.php index 4a586b5c84..38818f05d1 100644 --- a/api/v1/entries/taskrestart.php +++ b/api/v1/entries/taskrestart.php @@ -34,7 +34,7 @@ class taskRestartEntry extends entry $data = $this->getData(); if(!$data) return $this->send400('error'); - if(isset($data->result) and $data->result == 'fail') return $this->sendError(zget($data, 'code', 400), $data->message); + if(isset($data->result) and $data->result == 'fail') return $this->sendError(400, $data->message); $task = $this->loadModel('task')->getByID($taskID); diff --git a/api/v1/entries/taskstart.php b/api/v1/entries/taskstart.php index 27da1ddb89..7ffd440e74 100644 --- a/api/v1/entries/taskstart.php +++ b/api/v1/entries/taskstart.php @@ -25,14 +25,14 @@ class taskStartEntry extends entry $fields = 'assignedTo,realStarted,consumed,left,comment'; $this->batchSetPost($fields); + $this->setPost('realStarted', $this->request('realStarted', helper::now())); + $control = $this->loadController('task', 'start'); - $this->requireFields('left'); $control->start($taskID); $data = $this->getData(); if(!$data) return $this->send400('error'); - if(isset($data->status) and $data->status == 'fail') return $this->sendError(zget($data, 'code', 400), $data->message); - if(isset($data->result) and $data->result == 'fail') return $this->sendError(zget($data, 'code', 400), $data->message); + if(isset($data->result) and $data->result == 'fail') return $this->sendError(400, $data->message); $task = $this->loadModel('task')->getByID($taskID); diff --git a/module/task/control.php b/module/task/control.php index 2eabbb6f63..e4f061950f 100755 --- a/module/task/control.php +++ b/module/task/control.php @@ -1432,7 +1432,11 @@ class task extends control { $this->loadModel('action'); $changes = $this->task->pause($taskID, $extra); - if(dao::isError()) return print(js::error(dao::getError())); + if(dao::isError()) + { + if($this->viewType == 'json' or (defined('RUN_MODE') && RUN_MODE == 'api')) return $this->send(array('result' => 'fail', 'message' => dao::getError())); + return print(js::error(dao::getError())); + } if($this->post->comment != '' or !empty($changes)) { @@ -1469,6 +1473,7 @@ class task extends control } return print(js::closeModal('parent.parent', 'this')); } + if($this->viewType == 'json' or (defined('RUN_MODE') && RUN_MODE == 'api')) return $this->send(array('result' => 'success')); return print(js::locate($this->createLink('task', 'view', "taskID=$taskID"), 'parent')); } @@ -1498,7 +1503,11 @@ class task extends control { $this->loadModel('action'); $changes = $this->task->start($taskID); - if(dao::isError()) return print(js::error(dao::getError())); + if(dao::isError()) + { + if($this->viewType == 'json' or (defined('RUN_MODE') && RUN_MODE == 'api')) return $this->send(array('result' => 'fail', 'message' => dao::getError())); + return print(js::error(dao::getError())); + } $act = $this->post->left == 0 ? 'Finished' : 'Restarted'; $actionID = $this->action->create('task', $taskID, $act, $this->post->comment); @@ -1532,6 +1541,8 @@ class task extends control } return print(js::closeModal('parent.parent', 'this')); } + + if($this->viewType == 'json' or (defined('RUN_MODE') && RUN_MODE == 'api')) return $this->send(array('result' => 'success')); return print(js::locate($this->createLink('task', 'view', "taskID=$taskID"), 'parent')); }