public function executeCreate_tree(sfWebRequest $request) { $request->setRequestFormat('json'); $title = $request->getParameter('item_title'); $user = $this->getUser()->getAttribute('s_current_user', null); if ($user != null) { try { $conn = Propel::getConnection(); $conn->beginTransaction(); $tree_bean = new TreeSc(); $tree_bean->setName($title); $tree_bean->setUserId($user->getId()); $tree_bean->setConfigureFlag(''); $tree_bean->setConfigureDesign(''); $tree_bean->setFlag(1); $tree_bean->save(); $tree_user_bean = new TreeUser(); $tree_user_bean->setUserId($tree_bean->getUserId()); $tree_user_bean->setTreeId($tree_bean->getId()); $tree_user_bean->save(); $conn->commit(); $this->message = 'success'; $this->treepk = $tree_bean->getId(); $this->title = $tree_bean->getName(); return sfView::SUCCESS; } catch (Exception $e) { $this->message = $e->getMessage(); return sfView::ERROR; } } else { $this->message = 'session expired'; return sfView::ERROR; } }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param TreeSc $value A TreeSc object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(TreeSc $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }
/** * Declares an association between this object and a TreeSc object. * * @param TreeSc $v * @return TreeUser The current object (for fluent API support) * @throws PropelException */ public function setTreeSc(TreeSc $v = null) { if ($v === null) { $this->setTreeId(NULL); } else { $this->setTreeId($v->getId()); } $this->aTreeSc = $v; // Add binding for other direction of this n:n relationship. // If this object has already been added to the TreeSc object, it will not be re-added. if ($v !== null) { $v->addTreeUser($this); } return $this; }
private function verificar_insert_data($tree) { $tree = new TreeSc(); $tree->getPeriodoId(); //cada 15 dias $criterio = new Criteria(); $criterio->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $criterio->add(IndicatorsScPeer::TREE_ID, $tree->getId()); $indicador = IndicatorsScPeer::doSelectOne($criterio); $criterio->clear(); $criterio->add(DataIndicadoresPeer::INDICADOR_ID, $indicador->getId()); $criterio->addDescendingOrderByColumn(DataIndicadoresPeer::CREATE_AT); $data = DataIndicadoresPeer::doSelectOne($criterio); $criterio = new Criteria(); $criterio->add(DataIndicadoresPeer::INDICADOR_ID, 24); $criterio->addDescendingOrderByColumn(DataIndicadoresPeer::CREATE_AT); $data = DataIndicadoresPeer::doSelectOne($criterio); $ultima_de_fecha_registro = new DateTime($data->getCreateAt()); $ultima_de_fecha_registro = $ultima_de_fecha_registro->format('Y-m-d'); $array = explode('-', $ultima_de_fecha_registro); $fecha_actual = mktime(0, 0, 0, date('m'), date("d"), date('Y')); $fecha_actual = date('Y-m-d', $fecha_actual); /* if($fecha_proyectada<=$fecha_actual){}*/ //semanal if ($tree->getPeriodoId() == 1) { $fecha_proyectada = mktime(0, 0, 0, $array[1], $array[2] + 7, $array[0]); $fecha_proyectada = date('Y-m-d', $fecha_proyectada); //cada quincena } elseif ($tree->getPeriodoId() == 2) { //si el dia de ultimo registro en menos a quince //busco el 15 de ese mes if ($array[2] < 15) { //la fecha programada es: $fecha_proyectada = $this->obtener_fecha_por_dia(15); } else { $fecha_proyectada = $this->obtener_fecha_por_dia(1); } //cada bimestre } elseif ($tree->getPeriodoId() == 3) { $fecha_proyectada = mktime(0, 0, 0, $array[1], $array[2] + 0, $array[0]); $fecha_proyectada = date('Y-m-d', $fecha_proyectada); //cada trimestre } else { $fecha_proyectada = mktime(0, 0, 0, $array[1], $array[2] + 0, $array[0]); $fecha_proyectada = date('Y-m-d', $fecha_proyectada); } }