protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $this->getUser()->setFlash('notice-venta-edit', $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.'); $venta = $form->save(); if ($this->getRequest()->hasParameter('venta[is4Producto]') and $this->getRequest()->getParameter('venta[is4Producto]') == 'true') { // Nuevo objeto de estado de venta ventaEstado $ventaEstado = new VentaEstado(); $ventaEstado->setVentaId($venta->getId()); $ventaEstado->setEstadoId(9); $ventaEstado->setFecha($venta->getFecha()); $ventaEstado->setUserId($this->getUser()->getGuardUser()->getId()); $ventaEstado->setObservaciones('Venta directa concluida.'); $ventaEstado->save(); } $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $venta))); if ($request->hasParameter('_save_and_add')) { $this->getUser()->setFlash('notice', $this->getUser()->getFlash('notice') . ' You can add another one below.'); // Modificamos comportamiento si es AJAX if ($this->getRequest()->isXmlHttpRequest()) { $this->redirect('venta/newWin'); } else { $this->redirect('@venta_new'); } } else { // Modificamos comportamiento si es AJAX if ($this->getRequest()->isXmlHttpRequest()) { // Redireccionamos a la accion edit. $this->redirect('@venta_edit?id=' . $venta->getId() . '&isCommingEdit=true'); } else { $this->redirect('@venta_edit?id=' . $venta->getId()); } } } else { $this->getUser()->setFlash('error-venta-edit', 'The item has not been saved due to some errors.'); } }
public function doSave($con = null) { // Redefinimos el metodo crear de la compra. // Al crear una compra automaticamente generamos el estado inicial if ($this->isNew()) { $formu_venta = parent::doSave($con); // Objeto compra recien agregado $objVenta = $this->getObject(); // Nuevo objeto de estado de compra CompraEstado $ventaEstado = new VentaEstado(); // singleton $singleton = sfContext::getInstance(); $ventaEstado->setVentaId($objVenta->getId()); $ventaEstado->setEstadoId(8); $ventaEstado->setFecha($objVenta->getFecha()); $ventaEstado->setUserId($singleton->getUser()->getGuardUser()->getId()); $ventaEstado->setObservaciones('Carga inicial.'); // Grabamos estado $ventaEstado->save(); return $formu_venta; } else { return parent::doSave($con); } }