diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-05-10 15:15:58 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-05-10 15:15:58 -0400 |
commit | bd3c44c3d337d49b02e19da0c6baed1a4abec37b (patch) | |
tree | 95156ad897763e6739e4db582fa10a8a371ea86b /app/Model/TaskDuplication.php | |
parent | c9dcd7061708114c72c0c7d80d108661308b1e50 (diff) |
Recurring tasks (#847): move hardcoded conditions to event subscriber + refactoring
Diffstat (limited to 'app/Model/TaskDuplication.php')
-rwxr-xr-x | app/Model/TaskDuplication.php | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/app/Model/TaskDuplication.php b/app/Model/TaskDuplication.php index ada3b6d6..7f9308d2 100755 --- a/app/Model/TaskDuplication.php +++ b/app/Model/TaskDuplication.php @@ -52,39 +52,40 @@ class TaskDuplication extends Base } /** - * Create task recurrence to the same project + * Duplicate recurring task * * @access public * @param integer $task_id Task id * @return boolean|integer Recurrence task id */ - public function createRecurrence($task_id) + public function duplicateRecurringTask($task_id) { $values = $this->copyFields($task_id); - if ($values['recurrence_status'] == Task::RECURE_STATUS_PENDING) - { + if ($values['recurrence_status'] == Task::RECURE_STATUS_PENDING) { + $values['recurrence_parent'] = $task_id; $values['column_id'] = $this->board->getFirstColumn($values['project_id']); - $this->recurrenceDateDue($values); - $recuretask = $this->save($task_id, $values); + $this->calculateRecurringTaskDueDate($values); + + $recurring_task_id = $this->save($task_id, $values); - if ($recuretask) - { - $recurrenceStatusUpdate = $this->db + if ($recurring_task_id > 0) { + + $parent_update = $this->db ->table(Task::TABLE) - ->eq('id',$task_id) + ->eq('id', $task_id) ->update(array( 'recurrence_status' => Task::RECURE_STATUS_PROCESSED, - 'recurrence_child' => $recuretask, + 'recurrence_child' => $recurring_task_id, )); - if($recurrenceStatusUpdate) - { - return $recuretask; + if ($parent_update) { + return $recurring_task_id; } } } + return false; } @@ -176,7 +177,7 @@ class TaskDuplication extends Base * @access private * @param array $values */ - private function recurrenceDateDue(array &$values) + private function calculateRecurringTaskDueDate(array &$values) { if (! empty($values['date_due']) && $values['recurrence_factor'] != 0) { |