示例#1
0
 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.');
     }
 }
示例#2
0
 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);
     }
 }