/**
  * Crea un registro nuevo en la entidad correspondiente
  * y su correspondiente registro en las líneas de recepción
  * 
  * @return array con el template y valores a renderizar
  */
 public function newAction()
 {
     switch ($this->request["entidad"]) {
         //CREAR UNA LINEA DE PEDIDO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         case 'PedidosCab':
             $pedido = new PedidosCab($this->request['idEntidad']);
             $lineaPedido = new PedidosLineas();
             $lineaPedido->setIDPedido($this->request['idEntidad']);
             $lineaPedido->setIDArticulo($this->request['idArticulo']);
             $lineaPedido->setDescripcion($this->request['Descripcion']);
             $lineaPedido->setUnidades(0);
             $lineaPedido->setIDEstado(1);
             $lineaPedido->setIDAgente($_SESSION['usuarioPortal']['Id']);
             $lineaPedido->setIDAlmacen($pedido->getIDAlmacen()->getIDAlmacen());
             if ($lineaPedido->valida()) {
                 if ($lineaPedido->create()) {
                     $this->creaLineaRecepcion($this->request['entidad'], $this->request['idEntidad'], $lineaPedido);
                     $pedido->setIDAlmacen($pedido->getIDAlmacen()->getIDAlmacen());
                     $pedido->setIncidencias($pedido->getIncidencias() . "\nFuera de pedido: " . $lineaPedido->getDescripcion());
                     $pedido->save();
                 }
             }
             $this->values['errores'] = $lineaPedido->getErrores();
             unset($pedido);
             unset($lineaPedido);
             break;
             //CREAR UNA LINEA DE PEDIDO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         //CREAR UNA LINEA DE PEDIDO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         case 'ManufacCab':
             $manufac = new ManufacCab($this->request['idEntidad']);
             $lineaManufac = new ManufacLineas();
             $lineaManufac->setIDManufac($this->request['idEntidad']);
             $lineaManufac->setTipo(1);
             $lineaManufac->setIDArticulo($this->request['idArticulo']);
             $lineaManufac->setDescripcion($this->request['Descripcion']);
             $lineaManufac->setUnidades(1);
             $lineaManufac->setIDEstado(0);
             $lineaManufac->setIDAlmacen($manufac->getIDAlmacenDestino()->getIDAlmacen());
             if ($lineaManufac->valida()) {
                 if ($lineaManufac->create()) {
                     $this->creaLineaRecepcion($this->request['entidad'], $this->request['idEntidad'], $lineaManufac);
                     $manufac->setIDAlmacenDestino($manufac->getIDAlmacenDestino()->getIDAlmacen());
                     $manufac->setIncidencias($manufac->getIncidencias() . "\nFuera de pedido: " . $lineaManufac->getDescripcion());
                     $manufac->save();
                 }
             }
             $this->values['errores'] = $lineaManufac->getErrores();
             unset($manufac);
             unset($lineaManufac);
             break;
             //CREAR UNA LINEA DE TRASPASO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         //CREAR UNA LINEA DE TRASPASO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         case 'TraspasosCab':
             $traspaso = new TraspasosCab($this->request['idEntidad']);
             $lineaTraspaso = new TraspasosLineas();
             $lineaTraspaso->setIDTraspaso($this->request['idEntidad']);
             $lineaTraspaso->setTipo(1);
             $lineaTraspaso->setIDArticulo($this->request['idArticulo']);
             $lineaTraspaso->setDescripcion($this->request['Descripcion']);
             $lineaTraspaso->setUnidades(1);
             $lineaTraspaso->setIDEstado(0);
             $lineaTraspaso->setIDAlmacen($traspaso->getIDAlmacenDestino()->getIDAlmacen());
             if ($lineaTraspaso->valida()) {
                 if ($lineaTraspaso->create()) {
                     $this->creaLineaRecepcion($this->request['entidad'], $this->request['idEntidad'], $lineaTraspaso);
                     $traspaso->setIDAlmacenDestino($traspaso->getIDAlmacenDestino()->getIDAlmacen());
                     $traspaso->setIncidencias($traspaso->getIncidencias() . "\nFuera de traspaso: " . $lineaTraspaso->getDescripcion());
                     $traspaso->save();
                 }
             }
             $this->values['errores'] = $lineaTraspaso->getErrores();
             unset($traspaso);
             unset($lineaTraspaso);
             break;
     }
     return $this->listAction($this->request['entidad'], $this->request['idEntidad']);
 }
 /**
  * Envia por email el parte de elaboracion en formato PDF
  * @return <type>
  */
 public function enviarAction()
 {
     if ($this->request['accion'] == 'Enviar') {
         $para = $this->request['Para'];
         $de = $this->request['De'];
         $deNombre = $this->request['DeNombre'];
         $asunto = $this->request['Asunto'];
         $mensaje = $this->request['Mensaje'];
         $adjuntos = array($this->request['Adjunto']);
         $envio = new Mail();
         $this->values['resultadoEnvio'] = $envio->send($para, $de, $deNombre, $asunto, $mensaje, $adjuntos);
         unset($envio);
     } else {
         $usuario = new Agentes($_SESSION['usuarioPortal']['Id']);
         $datos = new TraspasosCab($this->request['TraspasosCab']['IDTraspaso']);
         $formatos = DocumentoPdf::getFormatos('ordenTraspaso');
         $formato = $this->request['Formato'];
         if ($formato == '') {
             $formato = 0;
         }
         $this->values['archivo'] = $this->generaPdf('ordenTraspaso', array('0' => $datos->getIDTraspaso()), $formato);
         $this->values['email'] = array('Para' => $datos->getIDAlmacenDestino()->getEMail(), 'De' => $usuario->getEMail(), 'DeNombre' => $usuario->getNombre(), 'Cc' => '', 'Asunto' => 'Orden de traspaso n. ' . $datos->getNumeroTraspaso(), 'Formatos' => $formatos, 'Formato' => $formato, 'Mensaje' => 'Le adjunto el traspaso ' . $datos->getNumeroTraspaso() . "\n\nUn saludo.", 'idTraspaso' => $datos->getIDTraspaso());
         unset($usuario);
         unset($datos);
     }
     return parent::enviarAction();
 }