public function executeCreateIndicadorOnline(sfWebRequest $request)
 {
     $request->setRequestFormat('json');
     $titulo = $request->getParameter('title');
     $responsableId = $request->getParameter('resposableId');
     $responsableEmail = $request->getParameter('responsableEmail');
     $valorMinimo = $request->getParameter('valorMinimo');
     $valorDeseado = $request->getParameter('valorDeseado');
     $valorOptimo = $request->getParameter('valorOptimo');
     $previousId = $request->getParameter('previous');
     $tree = explode("-", $request->getParameter('tree'));
     $treeId = $tree[1];
     $user = $this->getUser()->getAttribute(sfConfig::get('app_session_current_user'), null);
     if ($user != null) {
         try {
             $conn = Propel::getConnection();
             $conn->beginTransaction();
             /*Primero creo en indicador*/
             $indicator_bean = new IndicatorsSc();
             $indicator_bean->setTitulo($titulo);
             $indicator_bean->setDescripcion('');
             $indicator_bean->setTreeId($tree[1]);
             $indicator_bean->setPreviousId($previousId);
             $indicator_bean->setValorMinimo($valorMinimo);
             $indicator_bean->setValorDeseado($valorDeseado);
             $indicator_bean->setValorOptimo($valorOptimo);
             $indicator_bean->setResponsableId($responsableId);
             $indicator_bean->setConectoresConfigure(0);
             $indicator_bean->setEmailResponsable($responsableEmail);
             $indicator_bean->setFlag('habilitado');
             $indicator_bean->save();
             /*Segundo genero la data de Proyeccion de ese indicador con los valores ingresados*/
             $serviceDataIndicador = new ProjectionsService();
             $serviceDataIndicador->generateDataIndicadorOnline($treeId, $indicator_bean);
             /*Tercero genero data indicadores */
             $serviceDataImplementation = new dataIndicadoresImplementation();
             $serviceDataImplementation->addDataIndicatores($indicator_bean);
             //si no es el primer nodo a patir de arbol
             if ($indicator_bean->getPreviousId() != 0) {
                 //obtengo el ultimo para sacar su configuracion antigua
                 $pre_indicador = IndicatorsScPeer::retrieveByPK($previousId);
                 $pre_indicador->setUltimoNodo(false);
                 $pre_indicador->setValorOptimo(100);
                 $pre_indicador->save();
                 $indicator_bean->setParents($pre_indicador->getParents() . 'p' . $pre_indicador->getId() . 's-');
                 $indicator_bean->setUltimoNodo(true);
                 $indicator_bean->save();
             } else {
                 $indicator_bean->setUltimoNodo(true);
                 $indicator_bean->save();
             }
             /*actualizo la informacion de la tabla dataIndicadores*/
             $serviceDataImplementation->updateDataIndicadores($tree[1]);
             $conn->commit();
             $this->message = 'success';
             $this->indicator = $indicator_bean->getId();
             $this->title = $indicator_bean->getTitulo();
             $this->lastNode = $indicator_bean->getUltimoNodo();
             return sfView::SUCCESS;
         } catch (Exception $e) {
             $this->message = $e->getMessage();
             return sfView::ERROR;
         }
     } else {
         $this->message = 'session expired';
         return sfView::ERROR;
     }
 }