public function nuevoAction() { $tipoQuery = \TipoQuery::create()->find(); $tipoArray = array(); foreach ($tipoQuery as $tipo) { $tipoArray[$tipo->getIdtipo()] = $tipo->getTipoNombre(); } $productoForm = new ProductoForm($tipoArray); $request = $this->getRequest(); if ($request->isPost()) { $productoFilter = new ProductoFilter(); $productoForm->setInputFilter($productoFilter->getInputFilter()); $productoForm->setData($request->getPost()); if ($productoForm->isValid()) { if (\ArticuloQuery::create()->filterByArticuloNombre($request->getPost()->articulo_nombre)->exists()) { $ProductoQuery = \ArticuloQuery::create()->filterByArticuloNombre($request->getPost()->articulo_nombre)->findOne(); if (\PropiedadQuery::create()->filterByPropiedadNombre($request->getPost()->propiedad_nombre)->exists()) { $PropiedadQuery = \PropiedadQuery::create()->filterByPropiedadNombre($request->getPost()->propiedad_nombre)->findOne(); $Propiedadvalor = new \Propiedadvalor(); $Propiedadvalor->setIdarticulo($ProductoQuery->getIdarticulo()); $Propiedadvalor->setIdpropiedad($PropiedadQuery->getIdpropiedad()); $Propiedadvalor->setPropiedadvalorNombre($request->getPost()->propiedadvalor_nombre); $Propiedadvalor->save(); } } $Producto = new \Articulo(); foreach ($productoForm->getData() as $ProductoKey => $ProductoValue) { if ($ProductoKey != 'idarticulo' && $ProductoKey != 'propiedad_nombre' && $ProductoKey != 'idpropiedad' && $ProductoKey != 'propiedadvalor_nombre' && $ProductoKey != 'submit') { $Producto->setByName($ProductoKey, $ProductoValue, BasePeer::TYPE_FIELDNAME); } } $Producto->save(); $Propiedad = new \Propiedad(); $Propiedad->setIdarticulo($Producto->getIdarticulo()); $Propiedad->setPropiedadNombre($request->getPost()->propiedad_nombre); $Propiedad->save(); $Propiedadvalor = new \Propiedadvalor(); $Propiedadvalor->setIdarticulo($Producto->getIdarticulo()); $Propiedadvalor->setIdpropiedad($Propiedad->getIdpropiedad()); $Propiedadvalor->setPropiedadvalorNombre($request->getPost()->propiedadvalor_nombre); $Propiedadvalor->save(); $propiedadvalorQuery = \PropiedadvalorQuery::create()->filterByPropiedadvalorNombre($Propiedadvalor->getPropiedadvalorNombre())->find(); $propiedadvalorArray = array(); foreach ($propiedadvalorQuery as $propiedadvalorEntity) { $propiedadvalorArray[$propiedadvalorEntity->getIdpropiedadvalor()] = $propiedadvalorEntity->getPropiedadvalorNombre(); } /* return array( 'productoForm' => $productoForm, 'propiedadvalor' => $propiedadvalorArray, ); */ if ($error = !null) { return $this->redirect()->toRoute('producto'); } } } return array('productoForm' => $productoForm); }
public function indexAction() { $request = $this->request; if ($request->isPost()) { //Si envian el formulario $post_data = $request->getPost(); //Creamos una instacia de nuestro articulovariante $articuloVariante = \ArticulovarianteQuery::create()->findOneByIdarticulovariante($post_data['idproducto']); $articuloVariante->setArticulovarianteCosto($request->getPost()->articulovariante_costo); $articuloVariante->setArticulovariantePrecio($request->getPost()->articulovariante_precio); $articuloVariante->setArticulovarianteIva($request->getPost()->articulovariante_iva); if ($articuloVariante->isModified()) { $articuloVariante->save(); } return; } //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = !is_null($vav->getArticuloVarianteCodigobarras()) ? $vav->getArticuloVarianteCodigobarras() : ''; $tmp['costo'] = !is_null($vav->getArticuloVarianteCosto()) ? $vav->getArticuloVarianteCosto() : 0.0; $tmp['precio'] = !is_null($vav->getArticuloVariantePrecio()) ? $vav->getArticuloVariantePrecio() : 0.0; $tmp['iva'] = !is_null($vav->getArticuloVarianteIva()) ? $vav->getArticuloVarianteIva() : 0; $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } array_push($productos, $tmp); } } //var_dump($this->flashMessenger()->getMessages()); return new ViewModel(array('flashMessages' => $this->flashMessenger()->getMessages(), 'productos' => $productos)); }
public function getproductosAction() { //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['value'] = $vav->getIdarticulovariante(); $articulovariante = \ArticulovarianteQuery::create()->findPk($tmp['value']); $tmp['precio'] = !is_null($articulovariante->getArticulovariantePrecio()) ? $articulovariante->getArticulovariantePrecio() : 0.0; $tmp['costo'] = !is_null($articulovariante->getArticulovarianteCosto()) ? $articulovariante->getArticulovarianteCosto() : 0.0; //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } $tmp['label'] = $tmp['nombre'] . ' ' . $tmp['descripcion']; } array_push($productos, $tmp); } } $producto_array = array(); foreach ($productos as $producto) { unset($producto['descripcion']); unset($producto['nombre']); array_push($producto_array, $producto); } return $this->getResponse()->setContent(\Zend\Json\Json::encode($producto_array)); }
public function nuevoAction() { $PropiedadForm = new PropiedadForm(); $PropiedadForm->get('submit')->setValue('Nuevo'); $request = $this->getRequest(); if ($request->isPost()) { $PropiedadFilter = new PropiedadFilter(); $PropiedadForm->setInputFilter($PropiedadFilter->getInputFilter()); $PropiedadForm->setData($request->getPost()); foreach ($request->getPost() as $key => $value) { if ($key == 'idarticulo') { $articuloQuery = \ArticuloQuery::create()->filterByIdarticulo($value)->findOne(); // Validamos que exista el idarticulo. if (!$articuloQuery) { return new ViewModel(array('Error' => array('Invalid idarticulo.' => 'Invalid idarticulo.'))); } } } if ($PropiedadForm->isValid()) { $Propiedad = new Propiedad(); foreach ($PropiedadForm->getData() as $PropiedadKey => $PropiedadValue) { if ($PropiedadKey != 'idpropiedad' && $PropiedadKey != 'submit') { $Propiedad->setByName($PropiedadKey, $PropiedadValue, BasePeer::TYPE_FIELDNAME); } } $Propiedad->save(); return $this->redirect()->toRoute('propiedad'); } else { $messageArray = array(); foreach ($PropiedadForm->getMessages() as $key => $value) { foreach ($value as $val) { //Obtenemos el valor de la columna con error $message = $key . ' ' . $val; array_push($messageArray, $message); } } return new ViewModel(array('Error' => $messageArray)); } } return array('PropiedadForm' => $PropiedadForm); }
/** * Returns the number of related Articulo objects. * * @param Criteria $criteria * @param boolean $distinct * @param PropelPDO $con * @return int Count of related Articulo objects. * @throws PropelException */ public function countArticulos(Criteria $criteria = null, $distinct = false, PropelPDO $con = null) { $partial = $this->collArticulosPartial && !$this->isNew(); if (null === $this->collArticulos || null !== $criteria || $partial) { if ($this->isNew() && null === $this->collArticulos) { return 0; } if ($partial && !$criteria) { return count($this->getArticulos()); } $query = ArticuloQuery::create(null, $criteria); if ($distinct) { $query->distinct(); } return $query->filterByTipo($this)->count($con); } return count($this->collArticulos); }
public function indexAction() { //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //obtenemos nuestros almacenes $lugarCollection = \LugarQuery::create()->find(); $lugarCollectionArray = array(); foreach ($lugarCollection as $kl => $vl) { $lugarCollectionArray[] = array('nombre' => $vl->getLugarNombre(), 'id' => $vl->getIdLugar()); } //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = !is_null($vav->getArticuloVarianteCodigobarras()) ? $vav->getArticuloVarianteCodigobarras() : ''; $tmp['precio'] = !is_null($vav->getArticuloVariantePrecio()) ? $vav->getArticuloVariantePrecio() : 0.0; $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Comenzamos a itinerar sobre los lugares disponibles foreach ($lugarCollection as $kl => $vl) { //Los agregamos a nuestro arreglo $tmp['lugar'][$vl->getLugarNombre()] = NULL; } //Obtenemos las compras que se han realizado del articulo variante $compraDetalleCollection = \OrdencompradetalleQuery::create()->findByIdarticulovariante($vav->getIdArticuloVariante()); //Itineramos en la coleccion de compras foreach ($compraDetalleCollection as $kcd => $vcd) { $idCompraDetalle = $vcd->getIdOrdenCompraDetalle(); //por cada compra detalle la buscamos en lugar inventario $lugarInventarioCollection = \LugarinventarioQuery::create()->findByIdordencompradetalle($idCompraDetalle); //empezamos a itinerar en los registros para irlos sumando a nuestro lugar foreach ($lugarInventarioCollection as $kli => $vli) { $lugarNombre = $vli->getLugar()->getLugarNombre(); $cantidad = $vli->getLugarinventarioCantidad(); $tmp['lugar'][$lugarNombre] += $cantidad; } } //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } array_push($productos, $tmp); } } //var_dump($this->flashMessenger()->getMessages()); return new ViewModel(array('lugares' => $lugarCollectionArray, 'productos' => $productos)); }
public function listaAction() { //obtenemos nuestros almacenes $lugarCollection = \LugarQuery::create()->find(); $lugarCollectionArray = array(); foreach ($lugarCollection as $kl => $vl) { $lugarCollectionArray[] = array('nombre' => $vl->getLugarNombre(), 'id' => $vl->getIdLugar()); } //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp = array(); $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = $vav->getArticulovarianteCodigoBarras(); $tmp['precio'] = $vav->getArticulovariantePrecio(); $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } //Por cada variacion obtenemos los datos de reorden $reordenCollection = \ArticulovariantereordenQuery::create()->findByIdarticulovariante($vav->getIdArticulovariante()); $reordenArray = $reordenCollection->toArray(); if (!empty($reordenArray)) { //Itineramos en el foreach ($reordenCollection as $krc => $vro) { $tmp['reorden']['id'] = $vro->getIdArticulovariantereorden(); $tmp['reorden'][$vro->getLugar()->getLugarNombre()]['min'] = (int) $vro->getMinimo(); $tmp['reorden'][$vro->getLugar()->getLugarNombre()]['reorden'] = (int) $vro->getReorden(); $tmp['reorden'][$vro->getLugar()->getLugarNombre()]['max'] = (int) $vro->getMaximo(); } } else { foreach ($lugarCollection as $kl => $vl) { $tmp['reorden'][$vl->getLugarNombre()]['min'] = 0; $tmp['reorden'][$vl->getLugarNombre()]['reorden'] = 0; $tmp['reorden'][$vl->getLugarNombre()]['max'] = 0; } } //Comenzamos a itinerar sobre los lugares disponibles foreach ($lugarCollection as $kl => $vl) { //Los agregamos a nuestro arreglo $tmp['reorden'][$vl->getLugarNombre()]['existencias'] = 0; } //Obtenemos las compras que se han realizado del articulo variante $compraDetalleCollection = \OrdencompradetalleQuery::create()->findByIdarticulovariante($vav->getIdArticuloVariante()); //Itineramos en la coleccion de compras foreach ($compraDetalleCollection as $kcd => $vcd) { $idCompraDetalle = $vcd->getIdOrdenCompraDetalle(); //por cada compra detalle la buscamos en lugar inventario $lugarInventarioCollection = \LugarinventarioQuery::create()->findByIdordencompradetalle($idCompraDetalle); //empezamos a itinerar en los registros para irlos sumando a nuestro lugar foreach ($lugarInventarioCollection as $kli => $vli) { $lugarNombre = $vli->getLugar()->getLugarNombre(); $cantidad = $vli->getLugarinventarioCantidad(); $tmp['reorden'][$lugarNombre]['existencias'] += $cantidad; } } array_push($productos, $tmp); } } return new ViewModel(array('lugares' => $lugarCollectionArray, 'productos' => $productos)); }
/** * Returns a new ArticuloQuery object. * * @param string $modelAlias The alias of a model in the query * @param ArticuloQuery|Criteria $criteria Optional Criteria to build the query from * * @return ArticuloQuery */ public static function create($modelAlias = null, $criteria = null) { if ($criteria instanceof ArticuloQuery) { return $criteria; } $query = new ArticuloQuery(null, null, $modelAlias); if ($criteria instanceof Criteria) { $query->mergeWith($criteria); } return $query; }
/** * Get the associated Articulo object * * @param PropelPDO $con Optional Connection object. * @param $doQuery Executes a query to get the object if required * @return Articulo The associated Articulo object. * @throws PropelException */ public function getArticulo(PropelPDO $con = null, $doQuery = true) { if ($this->aArticulo === null && $this->idarticulo !== null && $doQuery) { $this->aArticulo = ArticuloQuery::create()->findPk($this->idarticulo, $con); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. $this->aArticulo->addPropiedads($this); */ } return $this->aArticulo; }
public function indexAction() { $request = $this->request; if ($request->isPost()) { //Si envian el formulario $post_data = $request->getPost(); $id = $post_data['idproducto']; if ($id) { //Creamos una instacia de nuestro articulovariante $articuloVariante = \ArticulovarianteQuery::create()->findOneByIdarticulovariante($id); $articuloVariante->setArticulovarianteCodigobarras($request->getPost()->articulovariante_codigobarras); $articuloVariante->setArticulovarianteCosto($request->getPost()->articulovariante_costo); $articuloVariante->setArticulovariantePrecio($request->getPost()->articulovariante_precio); $articuloVariante->setArticulovarianteIva($request->getPost()->articulovariante_iva); if ($articuloVariante->isModified()) { $articuloVariante->save(); } } else { //Comenzamos a itinerar sobre nuestro los elementos enviados foreach ($request->getPost() as $key => $value) { if (strpos($key, 'producto') !== false) { $idArticuloVariante = explode("-", $key); $idArticuloVariante = $idArticuloVariante[1]; //Creamos una instacia de nuestro articulovariante $articuloVariante = \ArticulovarianteQuery::create()->findOneByIdarticulovariante($idArticuloVariante); $articuloVariante->setArticulovarianteCodigobarras($value["codigobarras"]); $articuloVariante->setArticulovarianteCosto($value["costo"]); $articuloVariante->setArticulovariantePrecio($value["precio"]); $articuloVariante->setArticulovarianteIva($value["iva"]); if ($articuloVariante->isModified()) { $articuloVariante->save(); } } } } //Ahora las imagen if (!empty($_FILES)) { $upload_folder = '/img/productos/'; $imagen = $_FILES['articulovariante_imagen']; $tipo_archivo = $_FILES['articulovariante_imagen']['type']; $tipo_archivo = explode('/', $tipo_archivo); $tipo_archivo = $tipo_archivo[1]; $nombre_archivo = 'producto_' . $post_data['idproducto'] . '.' . $tipo_archivo; $tmp_archivo = $imagen['tmp_name']; $archivador = $upload_folder . $nombre_archivo; if (move_uploaded_file($tmp_archivo, $_SERVER["DOCUMENT_ROOT"] . $archivador)) { $articuloVariante->setArticulovarianteImagen($archivador); $articuloVariante->save(); } } else { $oldulr = $_SERVER["DOCUMENT_ROOT"] . $articuloVariante->getArticulovarianteImagen(); unlink($oldulr); $articuloVariante->setArticulovarianteImagen(''); if ($articuloVariante->isModified()) { $articuloVariante->save(); } } //Agregamos un mensaje //$this->flashMessenger()->addMessage('Registro de productos guardados exitosamente!'); } //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = !is_null($vav->getArticuloVarianteCodigobarras()) ? $vav->getArticuloVarianteCodigobarras() : ''; $tmp['costo'] = !is_null($vav->getArticuloVarianteCosto()) ? $vav->getArticuloVarianteCosto() : 0.0; $tmp['precio'] = !is_null($vav->getArticuloVariantePrecio()) ? $vav->getArticuloVariantePrecio() : 0.0; $tmp['iva'] = !is_null($vav->getArticuloVarianteIva()) ? $vav->getArticuloVarianteIva() : 0; $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } array_push($productos, $tmp); } } //var_dump($this->flashMessenger()->getMessages()); return new ViewModel(array('flashMessages' => $this->flashMessenger()->getMessages(), 'productos' => $productos)); }
/** * Removes this object from datastore and sets delete attribute. * * @param PropelPDO $con * @return void * @throws PropelException * @throws Exception * @see BaseObject::setDeleted() * @see BaseObject::isDeleted() */ public function delete(PropelPDO $con = null) { if ($this->isDeleted()) { throw new PropelException("This object has already been deleted."); } if ($con === null) { $con = Propel::getConnection(ArticuloPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } $con->beginTransaction(); try { $deleteQuery = ArticuloQuery::create()->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { $deleteQuery->delete($con); $this->postDelete($con); $con->commit(); $this->setDeleted(true); } else { $con->commit(); } } catch (Exception $e) { $con->rollBack(); throw $e; } }