public function executeCreate(sfWebRequest $request) { if ($this->getRequest()->hasParameter('compra[is4]') and $this->getRequest()->getParameter('compra[is4]') == 'producto') { $this->form = $this->configuration->get4ProductoForm(); } else { if ($this->getRequest()->getParameter('compra[is4]') == 'nota_pedido') { $compra = new Compra(); $nota_de_pedido = NotaPedidoPeer::retrieveByPK($this->getRequest()->getParameter('compra[nota_pedido_id]')); $compra->setProveedorId($nota_de_pedido->getProveedorId()); $compra->setFecha($nota_de_pedido->getFecha()); $compra->setFechaEntrega($nota_de_pedido->getFechaPlazoEntrega()); $this->form = new Compra4NotaPedidoForm($compra); } else { $this->form = $this->configuration->getForm(); } } $this->compra = $this->form->getObject(); $this->processForm($request, $this->form); if ($this->getRequest()->isXmlHttpRequest()) { $this->setTemplate('newWinContent'); } }
/** * This is a method for emulating ON DELETE CASCADE for DBs that don't support this * feature (like MySQL or SQLite). * * This method is not very speedy because it must perform a query first to get * the implicated records and then perform the deletes by calling those Peer classes. * * This method should be used within a transaction if possible. * * @param Criteria $criteria * @param PropelPDO $con * @return int The number of affected rows (if supported by underlying database driver). */ protected static function doOnDeleteCascade(Criteria $criteria, PropelPDO $con) { // initialize var to track total num of affected rows $affectedRows = 0; // first find the objects that are implicated by the $criteria $objects = sfGuardUserPeer::doSelect($criteria, $con); foreach ($objects as $obj) { // delete related NotaPedido objects $c = new Criteria(NotaPedidoPeer::DATABASE_NAME); $c->add(NotaPedidoPeer::ADMINISTRA_ID, $obj->getId()); $affectedRows += NotaPedidoPeer::doDelete($c, $con); // delete related NotaPedido objects $c = new Criteria(NotaPedidoPeer::DATABASE_NAME); $c->add(NotaPedidoPeer::SOLICITA_ID, $obj->getId()); $affectedRows += NotaPedidoPeer::doDelete($c, $con); // delete related NotaPedido objects $c = new Criteria(NotaPedidoPeer::DATABASE_NAME); $c->add(NotaPedidoPeer::CONTROLA_ID, $obj->getId()); $affectedRows += NotaPedidoPeer::doDelete($c, $con); // delete related NotaPedido objects $c = new Criteria(NotaPedidoPeer::DATABASE_NAME); $c->add(NotaPedidoPeer::AUTORIZA_ID, $obj->getId()); $affectedRows += NotaPedidoPeer::doDelete($c, $con); // delete related NotaPedidoEstado objects $c = new Criteria(NotaPedidoEstadoPeer::DATABASE_NAME); $c->add(NotaPedidoEstadoPeer::USER_ID, $obj->getId()); $affectedRows += NotaPedidoEstadoPeer::doDelete($c, $con); // delete related Evento objects $c = new Criteria(EventoPeer::DATABASE_NAME); $c->add(EventoPeer::USER_ID, $obj->getId()); $affectedRows += EventoPeer::doDelete($c, $con); // delete related CompraEstado objects $c = new Criteria(CompraEstadoPeer::DATABASE_NAME); $c->add(CompraEstadoPeer::USER_ID, $obj->getId()); $affectedRows += CompraEstadoPeer::doDelete($c, $con); // delete related Venta objects $c = new Criteria(VentaPeer::DATABASE_NAME); $c->add(VentaPeer::TRANSPORTISTA_INTERNO_ID, $obj->getId()); $affectedRows += VentaPeer::doDelete($c, $con); // delete related VentaEstado objects $c = new Criteria(VentaEstadoPeer::DATABASE_NAME); $c->add(VentaEstadoPeer::USER_ID, $obj->getId()); $affectedRows += VentaEstadoPeer::doDelete($c, $con); // delete related sfGuardUserPermission objects $c = new Criteria(sfGuardUserPermissionPeer::DATABASE_NAME); $c->add(sfGuardUserPermissionPeer::USER_ID, $obj->getId()); $affectedRows += sfGuardUserPermissionPeer::doDelete($c, $con); // delete related sfGuardUserGroup objects $c = new Criteria(sfGuardUserGroupPeer::DATABASE_NAME); $c->add(sfGuardUserGroupPeer::USER_ID, $obj->getId()); $affectedRows += sfGuardUserGroupPeer::doDelete($c, $con); // delete related sfGuardRememberKey objects $c = new Criteria(sfGuardRememberKeyPeer::DATABASE_NAME); $c->add(sfGuardRememberKeyPeer::USER_ID, $obj->getId()); $affectedRows += sfGuardRememberKeyPeer::doDelete($c, $con); // delete related RecepcionPedido objects $c = new Criteria(RecepcionPedidoPeer::DATABASE_NAME); $c->add(RecepcionPedidoPeer::RECIBE_ID, $obj->getId()); $affectedRows += RecepcionPedidoPeer::doDelete($c, $con); // delete related RecepcionPedido objects $c = new Criteria(RecepcionPedidoPeer::DATABASE_NAME); $c->add(RecepcionPedidoPeer::CONTROLA_ID, $obj->getId()); $affectedRows += RecepcionPedidoPeer::doDelete($c, $con); // delete related RecepcionPedido objects $c = new Criteria(RecepcionPedidoPeer::DATABASE_NAME); $c->add(RecepcionPedidoPeer::ADMINISTRA_ID, $obj->getId()); $affectedRows += RecepcionPedidoPeer::doDelete($c, $con); // delete related UserProfile objects $c = new Criteria(UserProfilePeer::DATABASE_NAME); $c->add(UserProfilePeer::USER_ID, $obj->getId()); $affectedRows += UserProfilePeer::doDelete($c, $con); } return $affectedRows; }
/** * If this collection has already been initialized with * an identical criteria, it returns the collection. * Otherwise if this sfGuardUser is new, it will return * an empty collection; or if this sfGuardUser has previously * been saved, it will retrieve related NotaPedidosRelatedByAutorizaId from storage. * * This method is protected by default in order to keep the public * api reasonable. You can provide public methods for those you * actually need in sfGuardUser. */ public function getNotaPedidosRelatedByAutorizaIdJoinProveedorRelatedByTransporteId($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN) { if ($criteria === null) { $criteria = new Criteria(sfGuardUserPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collNotaPedidosRelatedByAutorizaId === null) { if ($this->isNew()) { $this->collNotaPedidosRelatedByAutorizaId = array(); } else { $criteria->add(NotaPedidoPeer::AUTORIZA_ID, $this->id); $this->collNotaPedidosRelatedByAutorizaId = NotaPedidoPeer::doSelectJoinProveedorRelatedByTransporteId($criteria, $con, $join_behavior); } } else { // 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 the collection. $criteria->add(NotaPedidoPeer::AUTORIZA_ID, $this->id); if (!isset($this->lastNotaPedidoRelatedByAutorizaIdCriteria) || !$this->lastNotaPedidoRelatedByAutorizaIdCriteria->equals($criteria)) { $this->collNotaPedidosRelatedByAutorizaId = NotaPedidoPeer::doSelectJoinProveedorRelatedByTransporteId($criteria, $con, $join_behavior); } } $this->lastNotaPedidoRelatedByAutorizaIdCriteria = $criteria; return $this->collNotaPedidosRelatedByAutorizaId; }
public function getUltimoEstadoId() { return NotaPedidoPeer::retrieveUltimoEstado($this->getId(), false); }