Пример #1
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_compra = parent::doSave($con);
         // Objeto compra recien agregado
         $objCompra = $this->getObject();
         // Nuevo objeto de estado de compra CompraEstado
         $compraEstado = new CompraEstado();
         // singleton
         $singleton = sfContext::getInstance();
         $compraEstado->setCompraId($objCompra->getId());
         $compraEstado->setEstadoId(1);
         // <- Estado de compra inmediata
         $compraEstado->setCantidad($objCompra->getCantidad());
         $compraEstado->setFecha($objCompra->getFecha());
         $compraEstado->setUserId($singleton->getUser()->getGuardUser()->getId());
         $compraEstado->setObservaciones('Carga inicial.');
         $compraEstado->setNotaRecepcionId(null);
         // Grabamos estado
         $compraEstado->save();
         return $formu_compra;
     } else {
         return parent::doSave($con);
     }
 }
Пример #2
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-compra-edit', $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.');
         $compra = $form->save();
         // <- Objeto $compra recien agregado
         if ($this->getRequest()->hasParameter('compra[is4]') and $this->getRequest()->getParameter('compra[is4]') == 'producto') {
             $this->getUser()->getAttributeHolder()->remove('compra_directa');
             $compraEstado = new CompraEstado();
             $compraEstado->setCompraId($compra->getId());
             $compraEstado->setEstadoId(7);
             // <- Estado de compra inmediata
             $compraEstado->setCantidad($compra->getCantidad());
             $compraEstado->setFecha($compra->getFecha());
             $compraEstado->setUserId($this->getUser()->getGuardUser()->getId());
             $compraEstado->setObservaciones('Compra directa concluida.');
             $compraEstado->setNotaRecepcionId(null);
             $compraEstado->save();
         }
         $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $compra)));
         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('compra/newWin');
             } else {
                 $this->redirect('@compra_new');
             }
         } else {
             // Modificamos comportamiento si es AJAX
             if ($this->getRequest()->isXmlHttpRequest()) {
                 $this->redirect('compra/editWinContent?id=' . $compra->getId());
             } else {
                 $this->redirect('@compra_edit?id=' . $compra->getId());
             }
         }
     } else {
         $this->getUser()->setFlash('error-compra-edit', 'The item has not been saved due to some errors.');
     }
 }