/** * Show and process reorder task form * * @param void * @return null */ function reorder() { $this->wireframe->print_button = false; if (!instance_of($this->active_task_parent, 'ProjectObject')) { $this->httpError(HTTP_ERR_NOT_FOUND); } // if if (!$this->active_task_parent->canSubtask($this->logged_user)) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if $order_data = $this->request->post('task'); $ids = array_keys($order_data); if (is_foreachable($order_data)) { $x = 1; foreach ($order_data as $key => $value) { $order_data[$key] = $x; $x++; } // foreach } // if $tasks = Tasks::findByIds($ids, STATE_VISIBLE, $this->logged_user->getVisibility()); if (is_foreachable($tasks)) { foreach ($tasks as $task) { $task->setParent($this->active_task_parent); $task->setProjectId($this->active_task_parent->getProjectId()); $task->setVisibility($this->active_task_parent->getVisibility()); $task->setPosition(array_var($order_data, $task->getId())); $task->save(); } // foreach } // if $this->httpOk(); }