コード例 #1
0
ファイル: carrito.php プロジェクト: OliverUrones/individual
 public function accion_aceptarPedido()
 {
     //Comprobar que el cliente se ha logueado
     $usuario = sesion::get('usuario');
     if ($usuario === null) {
         //No se ha logueado
         vista::redirigir('?a=clientes.login');
     } else {
         //Copiar y modificar el método accion_crear de la clase pedidos.php
         $bien = false;
         $error = '';
         $modelo = new pedido();
         $modelo->fecha = date('Y-m-d');
         $fecha = getdate();
         $modelo->serie = date('Y');
         $modelo->numero = $modelo->siguienteNumero($modelo->serie);
         $modelo->domEnvio = $usuario->domEnvio;
         $modelo->refCli = $usuario->referencia;
         $modelo->notas = "Pedido realizado desde el carro.";
         $modelo->lineas = array();
         $miCarro = sesion::get('carro');
         $orden = 1;
         foreach ($miCarro as $key => $value) {
             $linea = new pedidolin();
             $linea->serie = $modelo->serie;
             $linea->numero = $modelo->numero;
             $linea->orden = $orden;
             $linea->refArt = $key;
             $linea->texto = "Artículo del carro.";
             $linea->cantidad = $value->cantidad;
             $linea->precio = $value->precio;
             $linea->iva = $value->iva;
             $linea->importeBase = $value->cantidad * $value->precio;
             $linea->cuotaIva = $linea->importeBase * $value->iva / 100;
             $linea->pedido = $modelo;
             $linea->articulo = $value;
             $modelo->lineas[] = $linea;
             $orden++;
         }
         $modelo->cliente = $usuario;
         //----------
         //$pagina= (int)(isset($_GET['p']) ? $_GET['p'] : 0);//coger la pagina para poder volver
         //----------
         //Si hay datos del formulario pedido, se intenta crear nuevo...
         if ($modelo !== null) {
             //Copiar los datos del formulario...
             //$modelo->llenar( $_POST['pedido']);
             //Intentar guardar validando antes el modelo...
             $bien = $modelo->guardar();
             if ($bien) {
                 $error = 'El pedido se ha guardado correctamente.';
             } else {
                 $error = 'No se ha podido guardar el pedido nuevo. ' . basedatos::$error;
             }
         }
         //if
         //----------
         //Dar una respuesta segun el resultado del proceso.
         if ($bien) {
             //vista::redirigir( array('pedidos.editar'), array('id'=>$modelo->referencia, 'p'=>$pagina));
             vista::generarPagina('ver', array('modelo' => $modelo, 'error' => $error));
         }
         /*else {
             vista::generarPagina( 'crear', array( 
               'modelo'=>$modelo,
               'error'=>$error,
               //'pagina'=>$pagina,        
             ));
           }//if*/
         //vista::redirigir('?a=pedidos.crear');
     }
 }
コード例 #2
0
ファイル: pedidos.php プロジェクト: OliverUrones/individual
 public function accion_creardemo()
 {
     $bien = false;
     //----------
     //Simular la creacion de varios pedidos...
     for ($i = 1; $i <= 25; $i++) {
         $modelo = new pedido();
         //nueva instancia de pedido para crear en la bd.
         $modelo->serie = date('Y');
         //año actual
         $modelo->numero = $i;
         $modelo->fecha = date('Y-m-d');
         //fecha actual
         $modelo->refCli = 'ZA000002';
         //uno que puede existir o no, pero bueno.
         $modelo->domEnvio = 'domicilio de envio del pedido "' . $modelo->serie . '/' . sprintf('%05d', $modelo->numero) . '".';
         $modelo->estado = rand(0, count(pedido::listaEstados()) - 1);
         //uno de los posibles valores de estado.
         $modelo->notas = null;
         //sprintf( 'notas %06d', $i);
         //Añadir varias lineas a este pedido, aunque aún no exista en la BD.
         $modelo->lineas = array();
         $linTotal = rand(1, 25);
         //Numero de lineas a generar en el pedido.
         for ($lin = 1; $lin <= $linTotal; $lin++) {
             $linea = new pedidolin();
             //Nueva instancia de linea de pedido para crearla.
             //--$linea->idLinea= ...;//Es AUTONUMERICO con lo que se rellena solo al insertarlo en la BD.
             $linea->serie = $modelo->serie;
             $linea->numero = $modelo->numero;
             $linea->orden = $lin;
             $linea->refArt = sprintf('ART%06d', rand(1, 40));
             //generar un codigo de articulo que puede que no exista (25 si, 15 no).
             if ($linea->cargarArticulo()) {
                 echo '<pre>' . print_r($linea->articulo, true) . '</pre>';
                 //Si se carga bien, se coge el texto.
                 $linea->texto = $linea->articulo->texto;
                 $linea->precio = $linea->articulo->precio;
                 $linea->iva = $linea->articulo->iva;
             } else {
                 //Si no se carga bien, se genera como una linea libre
                 //y se elimina la referencia.
                 $linea->texto = 'Linea libre para el articulo "' . $linea->refArt . '"';
                 $linea->refArt = null;
                 $linea->precio = rand(5, 10000) / 100;
                 $linea->iva = 21.0;
             }
             //if
             $linea->cantidad = rand(1, 100);
             $linea->importeBase = 9753.1;
             //Comprobar que se recalcula antes de almacenar en la BD.
             $linea->cuotaIva = 123.45;
             //Comprobar que se recalcula antes de almacenar en la BD.
             //Añadir la linea manualmente a la lista de lineas del pedido.
             $linea->pedido =& $this;
             //Referencia al pedido asociado.
             $modelo->lineas[] = $linea;
         }
         //for
         //Guardar el modelo y sus lineas asociadas.
         $modelo->guardar();
     }
     //for
     //--echo 'voy a redirigir la pagina...'; flush();//probar a generar contenido HTML antes de redirigir.
     //vista::redirigir( array('pedidos','admin'));
     echo '<hr/>';
     echo 'Fin';
     echo '<hr/>';
 }