public function executeOrder_item() { $parametro = $this->getParametroOr404(); $parametro_def = $parametro->getParametroDef(); if (!$parametro_def->getEsLista()) { $this->getUser()->setFlash('error', 'El parametro no puede ordenarse, no es de tipo Lista'); $this->redirect("parametros/show?id=" . $parametro_def->getPrimaryKey()); } $op = $this->getRequestParameter('op'); if (!$op || $op != "up" && $op != "down") { $this->getUser()->setFlash('error', 'Operación incorrecta'); return $this->redirect("parametros/show?id=" . $parametro_def->getPrimaryKey()); } if ($op == "up") { $previous = ParametroPeer::retrieveByOrden($parametro->getOrden() - 1, $parametro_def->getPrimaryKey()); $this->forward404Unless($previous); $parametro->swapWith($previous); } else { $next = ParametroPeer::retrieveByOrden($parametro->getOrden() + 1, $parametro_def->getPrimaryKey()); $this->forward404Unless($next); $parametro->swapWith($next); } $this->getUser()->setFlash('notice', 'El elemento se ha desplazado correctamente'); return $this->redirect("parametros/show?id=" . $parametro_def->getPrimaryKey()); }