public function updateDataIndicadores($idTree) { $criterio = new Criteria(); $criterio->add(IndicatorsScPeer::TREE_ID, $idTree); $criterio->add(IndicatorsScPeer::ULTIMO_NODO, 1, Criteria::NOT_EQUAL); $listIndicadores = IndicatorsScPeer::doSelect($criterio); $countListIndicadores = IndicatorsScPeer::doCount($criterio); if ($countListIndicadores > 0) { foreach ($listIndicadores as $row) { $criteria = new Criteria(); $criteria->add(DataIndicadoresPeer::INDICADOR_ID, $row->getId()); DataIndicadoresPeer::doDelete($criteria); } } return array("success" => true, "message" => "exito"); }
public function haveChildren($treeBean = null) { if ($treeBean != null && is_object($treeBean)) { $criterio_busqueda = new Criteria(); $criterio_busqueda->add(IndicatorsScPeer::TREE_ID, $treeBean->getId()); $criterio_busqueda->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $listIndicator = IndicatorsScPeer::doSelect($criterio_busqueda); $countIndicator = IndicatorsScPeer::doCount($criterio_busqueda); if ($countIndicator > 0) { return array("success" => true, "message" => "{haveChildren}-success", "object" => $listIndicator); } else { return array("success" => false, "message" => "{haveChildren}-objeto no encontrado"); } } else { return array("success" => false, "message" => "{haveChildren}-parametro invalido"); } }
/** * Returns the number of related IndicatorsSc objects. * * @param Criteria $criteria * @param boolean $distinct * @param PropelPDO $con * @return int Count of related IndicatorsSc objects. * @throws PropelException */ public function countIndicatorsScs(Criteria $criteria = null, $distinct = false, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(UserScPeer::DATABASE_NAME); } else { $criteria = clone $criteria; } if ($distinct) { $criteria->setDistinct(); } $count = null; if ($this->collIndicatorsScs === null) { if ($this->isNew()) { $count = 0; } else { $criteria->add(IndicatorsScPeer::RESPONSABLE_ID, $this->id); $count = IndicatorsScPeer::doCount($criteria, false, $con); } } else { // criteria has no effect for a new object if (!$this->isNew()) { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return count of the collection. $criteria->add(IndicatorsScPeer::RESPONSABLE_ID, $this->id); if (!isset($this->lastIndicatorsScCriteria) || !$this->lastIndicatorsScCriteria->equals($criteria)) { $count = IndicatorsScPeer::doCount($criteria, false, $con); } else { $count = count($this->collIndicatorsScs); } } else { $count = count($this->collIndicatorsScs); } } return $count; }
public function executeReturn_nodes_childrens(sfWebRequest $request) { //aca retorno lista de indicadores inferiores //primero valido si tiene conectores inferiores $indicador_padre_id = $request->getParameter('indicatorPk'); //si tiene concetores inferiores envio la lista de conectores inferiores //en la consuta solo necesito id-configuracion(valor asignado por padre)-titulo $criterio_busqueda = new Criteria(); /*0*/ $criterio_busqueda->addSelectColumn(IndicatorsScPeer::ID); /*1*/ $criterio_busqueda->addSelectColumn(IndicatorsScPeer::CONECTORES_CONFIGURE); /*2*/ $criterio_busqueda->addSelectColumn(IndicatorsScPeer::TITULO); $criterio_busqueda->add(IndicatorsScPeer::PREVIOUS_ID, $indicador_padre_id); $criterio_busqueda->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $lista_indicadores_hijos = IndicatorsScPeer::doSelectStmt($criterio_busqueda); $this->count = IndicatorsScPeer::doCount($criterio_busqueda); $this->list = $lista_indicadores_hijos; }
private function soy_padre($indicador) { $criterio = new Criteria(); $criterio->add(IndicatorsScPeer::PREVIOUS_ID, $indicador->getId()); $cantidad = IndicatorsScPeer::doCount($criterio); if ($cantidad > 0) { return true; } else { return false; } }
public function executeDelete_indicador(sfWebRequest $request) { $indicator = $request->getParameter('indicator'); $user = $this->getUser()->getAttribute(sfConfig::get('app_session_current_user'), null); if ($user != null) { try { $conn = Propel::getConnection(); $conn->beginTransaction(); $indicadorBean = IndicatorsScPeer::retrieveByPK($indicator); if (is_object($indicadorBean)) { $id_tree = $indicadorBean->getTreeId(); $criterio_indicadores = new Criteria(); $criterio_indicadores->add(IndicatorsScPeer::PARENTS, '%p' . $indicadorBean->getId() . 's%', Criteria::LIKE); $criterio_update = new Criteria(); $criterio_update->add(IndicatorsScPeer::FLAG, 'eliminado'); BasePeer::doUpdate($criterio_indicadores, $criterio_update, $conn); //antes de eliminar el indicador vamos a revisar si el indicador antesesor //seria el ultimo nodo y asi cambiarle su estado de ultimo_nodo a true /*aca reviso si hay indicadores que todovia dependan del anterior indicador*/ $criterio_set_estado = new Criteria(); $criterio_set_estado->add(IndicatorsScPeer::PREVIOUS_ID, $indicadorBean->getPreviousId()); /*si es asi entonces no cambio nada encambio si no hay ninguno entonces quiere decir * que ese indicador quedaria como ultimo y entonces tendria que cambiarle el estado */ $cantidad_de_registros = IndicatorsScPeer::doCount($criterio_set_estado); /* menor igual 1 por que por logica por lo menos me va botar 1 resultado esta * consulta (por el indicador actual) */ if ($cantidad_de_registros <= 1) { $indicador_update = IndicatorsScPeer::retrieveByPK($indicadorBean->getPreviousId()); $indicador_update->setUltimoNodo(true); $indicador_update->save(); } $indicadorBean->setFlag('eliminado'); $indicadorBean->save(); $conn->commit(); /*Despues de eliminar el o los nodos vamos a enviar nuevamente el arbol y * sus indicadores (nodos) para que se arme nuevamente. */ $criterio = new Criteria(); $criterio->add(TreeScPeer::USER_ID, $user->getId()); $criterio->add(TreeScPeer::ID, $id_tree); $tree = TreeScPeer::doSelectOne($criterio); $criterio->clear(); if (is_object($tree)) { $criterio->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $criterio->add(IndicatorsScPeer::TREE_ID, $tree->getId()); $criterio->addAscendingOrderByColumn(IndicatorsScPeer::PREVIOUS_ID); $list_indicadores_send = IndicatorsScPeer::doSelect($criterio); $this->lista_indicadores = $list_indicadores_send; $this->tree = $tree; } $conn = Propel::close(); return sfView::SUCCESS; } else { $this->message = 'el indicador no existe'; $conn = Propel::close(); return sfView::ERROR; } } catch (Exception $e) { $conn = Propel::close(); return sfView::ERROR; } } else { $this->message = 'session expired'; $conn = Propel::close(); return sfView::ERROR; } }