diff options
Diffstat (limited to 'app/Model/TaskCreation.php')
-rw-r--r-- | app/Model/TaskCreation.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/Model/TaskCreation.php b/app/Model/TaskCreation.php index e530da13..4373fa63 100644 --- a/app/Model/TaskCreation.php +++ b/app/Model/TaskCreation.php @@ -25,10 +25,17 @@ class TaskCreation extends Base return 0; } + $position = empty($values['position']) ? 0 : $values['position']; + $this->prepare($values); $task_id = $this->persist(Task::TABLE, $values); if ($task_id !== false) { + + if ($position > 0 && $values['position'] > 1) { + $this->taskPosition->movePosition($values['project_id'], $task_id, $values['column_id'], $position, $values['swimlane_id'], false); + } + $this->fireEvents($task_id, $values); } @@ -46,7 +53,7 @@ class TaskCreation extends Base $this->dateParser->convert($values, array('date_due')); $this->dateParser->convert($values, array('date_started'), true); $this->removeFields($values, array('another_task')); - $this->resetFields($values, array('creator_id', 'owner_id', 'swimlane_id', 'date_due', 'score', 'category_id', 'time_estimated')); + $this->resetFields($values, array('date_started', 'creator_id', 'owner_id', 'swimlane_id', 'date_due', 'score', 'category_id', 'time_estimated')); if (empty($values['column_id'])) { $values['column_id'] = $this->board->getFirstColumn($values['project_id']); |