diff --git a/module/task/model.php b/module/task/model.php index fe042c3a73..867739533b 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -29,12 +29,16 @@ class taskModel extends model ->setDefault('project', (int)$projectID) ->setDefault('estimate, left, story', 0) ->setDefault('status', 'wait') + ->setDefault('estimate',(int)$this->post->estimate) ->setIF($this->post->estimate != false, 'left', $this->post->estimate) ->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story)) ->setDefault('estStarted', '0000-00-00') ->setDefault('deadline', '0000-00-00') ->setIF(strpos($this->config->task->create->requiredFields, 'estStarted') !== false, 'estStarted', $this->post->estStarted) ->setIF(strpos($this->config->task->create->requiredFields, 'deadline') !== false, 'deadline', $this->post->deadline) + ->setIF($this->post->estimate !== 0, 'estimate', (int)$this->post->estimate) + ->setIF($this->post->consumed !== 0, 'consumed', (int)$this->post->consumed) + ->setIF($this->post->left !== 0, 'left', (int)$this->post->left) ->setDefault('openedBy', $this->app->user->account) ->setDefault('openedDate', helper::now()) ->stripTags($this->config->task->editor->create['id'], $this->config->allowedTags) @@ -578,6 +582,9 @@ class taskModel extends model ->setDefault('story, estimate, left, consumed', 0) ->setDefault('estStarted', '0000-00-00') ->setDefault('deadline', '0000-00-00') + ->setIF($this->post->estimate !== 0, 'estimate', (int)$this->post->estimate) + ->setIF($this->post->consumed !== 0, 'consumed', (int)$this->post->consumed) + ->setIF($this->post->left !== 0, 'left', (int)$this->post->left) ->setIF($oldTask->parent == 0 && $this->post->parent == '', 'parent', 0) ->setIF(strpos($this->config->task->edit->requiredFields, 'estStarted') !== false, 'estStarted', $this->post->estStarted) ->setIF(strpos($this->config->task->edit->requiredFields, 'deadline') !== false, 'deadline', $this->post->deadline) @@ -1170,6 +1177,7 @@ class taskModel extends model } $task = fixer::input('post') + ->setIF($this->post->consumed !== 0, 'consumed', (int)$this->post->consumed) ->setDefault('left', 0) ->setDefault('assignedTo', $oldTask->openedBy) ->setDefault('assignedDate', $now) @@ -1229,6 +1237,7 @@ class taskModel extends model } if($task->finishedDate == substr($now, 0, 10)) $task->finishedDate = $now; + $task->consumed = (int)$task->consumed; $this->dao->update(TABLE_TASK)->data($task) ->autoCheck() @@ -1349,6 +1358,7 @@ class taskModel extends model $oldTask = $this->getById($taskID); $task = fixer::input('post') + ->setIF($this->post->left !== 0, 'left', (int)$this->post->left) ->setDefault('left', 0) ->setDefault('status', 'doing') ->setDefault('finishedBy, canceledBy, closedBy, closedReason', '') @@ -1359,6 +1369,12 @@ class taskModel extends model ->remove('comment') ->get(); + if(!is_numeric($task->left)) + { + dao::$errors[] = $this->lang->task->error->estimateNumber; + return false; + } + if(!empty($oldTask->team)) { $this->dao->update(TABLE_TEAM)->set('left')->eq($this->post->left)