public function executeAjax_reports(sfWebRequest $request) { //obtengo el id del arbol $tree_id = $request->getParameter('id_tree'); $criterio = new Criteria(); $criterio->add(TreeScPeer::ID, $tree_id); $criterio->add(TreeScPeer::FLAG, 1); $tree = TreeScPeer::doSelectOne($criterio); $criterio->clear(); if (is_object($tree)) { $criterio->add(IndicatorsScPeer::TREE_ID, $tree->getId()); $criterio->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $criterio->addAscendingOrderByColumn(IndicatorsScPeer::PREVIOUS_ID); $list_indicadores = IndicatorsScPeer::doSelect($criterio); $criterio->clear(); $list_grupos = GrupoTrabajoScPeer::doSelect($criterio); $criterio->clear(); $criterio->add(PeriodoScPeer::FLAG, '%activo%', Criteria::LIKE); $list_periodo = PeriodoScPeer::doSelect($criterio); $this->lista_indicadores = $list_indicadores; $this->lista_grupos = $list_grupos; $this->lista_periodos = $list_periodo; $this->tree = $tree; } else { return sfView::ERROR; } }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeStrategy(sfWebRequest $request) { $user = $this->getUser()->getAttribute(sfConfig::get('app_session_current_user'), null); $id_tree = $request->getParameter('id_tree'); if ($user != null) { $criterio = new Criteria(); $criterio->add(TreeScPeer::USER_ID, $user->getId()); $criterio->add(TreeScPeer::ID, $id_tree); $criterio->add(TreeScPeer::FLAG, 1); $tree = TreeScPeer::doSelectOne($criterio); $criterio->clear(); if (is_object($tree)) { $criterio->add(IndicatorsScPeer::TREE_ID, $tree->getId()); $criterio->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $criterio->addAscendingOrderByColumn(IndicatorsScPeer::PREVIOUS_ID); $list_indicadores = IndicatorsScPeer::doSelect($criterio); $criterio->clear(); $criterio->add(GrupoTrabajoScPeer::OWNER_ID, $user->getId()); $list_grupos = GrupoTrabajoScPeer::doSelect($criterio); $criterio->clear(); $criterio->add(PeriodoScPeer::FLAG, '%activo%', Criteria::LIKE); $list_periodo = PeriodoScPeer::doSelect($criterio); $this->lista_indicadores = $list_indicadores; $this->lista_grupos = $list_grupos; $this->lista_periodos = $list_periodo; $this->tree = $tree; } else { return sfView::ERROR; } return sfView::SUCCESS; } else { return sfView::ERROR; } }
public function returnCol_model($user, $indicator) { $criterio_busqueda = new Criteria(); $criterio_busqueda->add(TreeScPeer::ID, $indicator[1]); $tree = TreeScPeer::doSelectOne($criterio_busqueda); $criterio_busqueda->clear(); $criterio_busqueda->add(DataIndicadoresPeer::USER_ID, $user->getId()); // $criterio_busqueda->add(DataIndicadoresPeer::PERIODO_ID,$tree->getPeriodoId()); $criterio_busqueda->add(DataIndicadoresPeer::INDICADOR_ID, $indicator[0]); $list = DataIndicadoresPeer::doSelect($criterio_busqueda); $var = "["; $var = $var . "{name:'name',index:'name', width:180, sorttype:'text',editable: false},{"; $cantidad = 1; foreach ($list as $data) { $var = $var . "name:'f" . $cantidad . "',index:'f" . $cantidad . "',width:100,editable: true , editrules:{required:true,number:true} },"; $var = $var . "{name:'idfecha" . $cantidad . "',index:'idfecha" . $cantidad . "',width:100,editable: true,hidden:true },{"; $cantidad++; } $var = substr($var, 0, strlen($var) - 2) . ']'; return $var; }
public function executeAjax_mostrar_indicators(sfWebRequest $request) { $user = $this->getUser()->getAttribute(sfConfig::get('app_session_current_user'), null); $id_indicators = $request->getParameter('indicators_id'); if ($user != null) { //busco el la cabecera desde donde se armara el arbol $criterio = new Criteria(); $criterio->add(IndicatorsScPeer::ID, $id_indicators); $obj_indicators = IndicatorsScPeer::doSelectOne($criterio); $id_tree = $obj_indicators->getTreeId(); // saco el id del arbol $id_indicators = $obj_indicators->getId(); //saco el id del indicador $criterio->clear(); $criterio->add(IndicatorsScPeer::TREE_ID, $id_tree); $list_indicators_by_tree = IndicatorsScPeer::doSelect($criterio); // obtengo la lista de indicadores por arbol $criterio->clear(); //obtengo el arbol $criterio->add(TreeScPeer::ID, $id_tree); $tree = TreeScPeer::doSelectOne($criterio); $criterio->clear(); //realizo el metodo $this->tree = $tree; $criterio->add(IndicatorsScPeer::TREE_ID, $tree->getId()); $criterio->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $criterio->addAscendingOrderByColumn(IndicatorsScPeer::PREVIOUS_ID); $list_indicadores = IndicatorsScPeer::doSelect($criterio); $this->lista_indicadores = $list_indicadores; //variables $cont = 0; $indice; $recurso = new practil_lib(); $array = array(); $array_general = array(); //recorro la lista de los indicadores foreach ($list_indicadores as $obj) { if ($cont == 0) { $indice = $id_indicators; } if ($obj->getPreviousId() == $indice) { //obtengo el codigo del previuos $array_general[] = $obj->getId(); } } // $array = $recurso->add_ids_indicators_to_array($array_general, $array); $flat = true; while ($flat) { foreach ($list_indicadores as $obj2) { for ($j = 0; $j < count($array_general); $j++) { $indice = $array_general[$j]; print_r($obj2->getPreviousId()); if ($obj2->getPreviousId() == $indice) { //obtengo el codigo del previuos print_r("entro"); $array_general[] = $obj->getId(); } } } $flat = false; } print_r("salio"); $this->arreglo = $array_general; return sfView::SUCCESS; } else { return sfView::ERROR; } }
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; } }