private function new_search()
 {
     /// cambiamos la plantilla HTML
     $this->template = 'ajax_paquetes';
     $art = new articulo();
     $this->results = $art->search($this->query);
 }
 private function new_search()
 {
     /// desactivamos la plantilla HTML
     $this->template = FALSE;
     $stock = new stock();
     $articulo = new articulo();
     $codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $codfamilia = $_REQUEST['codfamilia'];
     }
     $codfabricante = '';
     if (isset($_REQUEST['codfabricante'])) {
         $codfabricante = $_REQUEST['codfabricante'];
     }
     $con_stock = isset($_REQUEST['con_stock']);
     $this->results = $articulo->search($this->query, 0, $codfamilia, $con_stock, $codfabricante);
     /// añadimos la busqueda, el descuento, la cantidad, etc...
     foreach ($this->results as $i => $value) {
         $this->results[$i]->query = $this->query;
         $this->results[$i]->cantidad = 1;
         /// añadimos el stock de cada almacén
         $this->results[$i]->origen = 0;
         if (isset($_REQUEST['origen'])) {
             $this->results[$i]->origen = $stock->total_from_articulo($this->results[$i]->referencia, $_REQUEST['origen']);
         }
         $this->results[$i]->destino = 0;
         if (isset($_REQUEST['destino'])) {
             $this->results[$i]->destino = $stock->total_from_articulo($this->results[$i]->referencia, $_REQUEST['destino']);
         }
     }
     header('Content-Type: application/json');
     echo json_encode($this->results);
 }
 protected function process()
 {
     $this->offset = 0;
     $this->agente = new agente();
     $this->tarifas = new tarifas_clientes();
     $this->share_extension();
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     if (isset($_GET['codcliente'])) {
         //Primero seleccionamos cliente
         $cliente = new cliente();
         $this->cliente = $cliente->get($_GET['codcliente']);
         //Ahora buscamos un articulo
         if (isset($_REQUEST['buscar_articulo'])) {
             /// desactivamos la plantilla HTML
             $this->template = FALSE;
             $json = array();
             $articulo = new articulo();
             $this->articulos = $articulo->search($_REQUEST['buscar_articulo']);
             foreach ($this->articulos as $art) {
                 $json[] = array('value' => $art->descripcion, 'data' => $art->referencia);
             }
             header('Content-Type: application/json');
             echo json_encode(array('query' => $_REQUEST['buscar_articulo'], 'suggestions' => $json));
         } else {
             if (isset($_POST['tarifa_pvp'])) {
                 $this->nueva_tarifa();
                 //Luego Seleccionamos las tarifas mas recientes de los articulos para este cliente
                 $this->tarifas_select = $this->tarifas->get_tarifas_cliente_select($_GET['codcliente']);
                 //Por ultimo seleccinamos todas las tarias de precios para este cliente
                 $this->tarifas_all = $this->tarifas->get_tarifas_cliente($_GET['codcliente']);
                 //Para eliminar
             } else {
                 if (isset($_GET['delete_tarifa'])) {
                     $tarifa = $this->tarifas->get($_GET['delete_tarifa']);
                     if ($tarifa) {
                         if ($tarifa->delete()) {
                             $this->new_message('Tarifa eliminada correctamente.');
                         } else {
                             $this->new_error_msg('Imposible eliminar la tarifa.');
                         }
                     } else {
                         $this->new_error_msg('Tarifa no encontrada.');
                     }
                     //Luego Seleccionamos las tarifas mas recientes de los articulos para este cliente
                     $this->tarifas_select = $this->tarifas->get_tarifas_cliente_select($_GET['codcliente']);
                     //Por ultimo seleccinamos todas las tarias de precios para este cliente
                     $this->tarifas_all = $this->tarifas->get_tarifas_cliente($_GET['codcliente']);
                 } else {
                     //Luego Seleccionamos las tarifas mas recientes de los articulos para este cliente
                     $this->tarifas_select = $this->tarifas->get_tarifas_cliente_select($_GET['codcliente']);
                     //Por ultimo seleccinamos todas las tarias de precios para este cliente
                     $this->tarifas_all = $this->tarifas->get_tarifas_cliente($_GET['codcliente']);
                 }
             }
         }
     } else {
         $this->new_error_msg('Imposible enseñar tarifas, cliente no seleccionado.');
     }
 }
 protected function private_core()
 {
     $this->share_extensions();
     $this->familia = new familia();
     $this->codfamilia = '';
     if (isset($_POST['codfamilia'])) {
         $this->codfamilia = $_POST['codfamilia'];
     }
     $articulo = new articulo();
     if (isset($_POST['referencias'])) {
         $num = 0;
         foreach ($_POST['referencias'] as $ref) {
             if ($this->borrar_articulo($ref)) {
                 $num++;
             }
         }
         $this->new_message($num . ' artículos borrados.');
     }
     if ($this->codfamilia == '') {
         $this->resultados = $articulo->search($this->query);
     } else {
         $this->resultados = $articulo->search($this->query, 0, $this->codfamilia);
     }
 }
 private function new_search()
 {
     /// desactivamos la plantilla HTML
     $this->template = FALSE;
     $articulo = new articulo();
     $codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $codfamilia = $_REQUEST['codfamilia'];
     }
     $codfabricante = '';
     if (isset($_REQUEST['codfabricante'])) {
         $codfabricante = $_REQUEST['codfabricante'];
     }
     $con_stock = isset($_REQUEST['con_stock']);
     $this->results = $articulo->search($this->query, 0, $codfamilia, $con_stock, $codfabricante);
     /// añadimos la busqueda, el descuento y la cantidad
     foreach ($this->results as $i => $value) {
         $this->results[$i]->query = $this->query;
         $this->results[$i]->dtopor = 0;
         $this->results[$i]->cantidad = 1;
     }
     /// ejecutamos las funciones de las extensiones
     foreach ($this->extensions as $ext) {
         if ($ext->type == 'function' and $ext->params == 'new_search') {
             $name = $ext->text;
             $name($this->db, $this->results);
         }
     }
     /// buscamos el grupo de clientes y la tarifa
     if (isset($_REQUEST['codcliente'])) {
         $cliente = $this->cliente->get($_REQUEST['codcliente']);
         if ($cliente->codgrupo) {
             $grupo0 = new grupo_clientes();
             $tarifa0 = new tarifa();
             $grupo = $grupo0->get($cliente->codgrupo);
             if ($grupo) {
                 $tarifa = $tarifa0->get($grupo->codtarifa);
                 if ($tarifa) {
                     $tarifa->set_precios($this->results);
                 }
             }
         }
     }
     header('Content-Type: application/json');
     echo json_encode($this->results);
 }
 private function new_search()
 {
     /// desactivamos la plantilla HTML
     $this->template = FALSE;
     $fsvar = new fs_var();
     $multi_almacen = $fsvar->simple_get('multi_almacen');
     $stock = new stock();
     $articulo = new articulo();
     $codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $codfamilia = $_REQUEST['codfamilia'];
     }
     $codfabricante = '';
     if (isset($_REQUEST['codfabricante'])) {
         $codfabricante = $_REQUEST['codfabricante'];
     }
     $con_stock = isset($_REQUEST['con_stock']);
     $this->results = $articulo->search($this->query, 0, $codfamilia, $con_stock, $codfabricante);
     /// añadimos la busqueda, el descuento, la cantidad, etc...
     foreach ($this->results as $i => $value) {
         $this->results[$i]->query = $this->query;
         $this->results[$i]->dtopor = 0;
         $this->results[$i]->cantidad = 1;
         $this->results[$i]->coddivisa = $this->empresa->coddivisa;
         /// añadimos el stock del almacén y el general
         $this->results[$i]->stockalm = $this->results[$i]->stockfis;
         if ($multi_almacen and isset($_REQUEST['codalmacen'])) {
             $this->results[$i]->stockalm = $stock->total_from_articulo($this->results[$i]->referencia, $_REQUEST['codalmacen']);
         }
     }
     /// ejecutamos las funciones de las extensiones
     foreach ($this->extensions as $ext) {
         if ($ext->type == 'function' and $ext->params == 'new_search') {
             $name = $ext->text;
             $name($this->db, $this->results);
         }
     }
     /// buscamos el grupo de clientes y la tarifa
     if (isset($_REQUEST['codcliente'])) {
         $cliente = $this->cliente->get($_REQUEST['codcliente']);
         if ($cliente) {
             if ($cliente->codgrupo) {
                 $grupo0 = new grupo_clientes();
                 $tarifa0 = new tarifa();
                 $grupo = $grupo0->get($cliente->codgrupo);
                 if ($grupo) {
                     $tarifa = $tarifa0->get($grupo->codtarifa);
                     if ($tarifa) {
                         $tarifa->set_precios($this->results);
                     }
                 }
             }
         }
     }
     /// convertimos la divisa
     if (isset($_REQUEST['coddivisa'])) {
         if ($_REQUEST['coddivisa'] != $this->empresa->coddivisa) {
             foreach ($this->results as $i => $value) {
                 $this->results[$i]->coddivisa = $_REQUEST['coddivisa'];
                 $this->results[$i]->pvp = $this->divisa_convert($value->pvp, $this->empresa->coddivisa, $_REQUEST['coddivisa']);
             }
         }
     }
     header('Content-Type: application/json');
     echo json_encode($this->results);
 }
 private function buscar_referencia()
 {
     /// desactivamos la plantilla HTML
     $this->template = FALSE;
     $articulo = new articulo();
     $json = array();
     foreach ($articulo->search($_REQUEST['buscar_referencia']) as $art) {
         $json[] = array('value' => $art->referencia, 'data' => $art->referencia);
     }
     header('Content-Type: application/json');
     echo json_encode(array('query' => $_REQUEST['buscar_referencia'], 'suggestions' => $json));
 }
 protected function private_core()
 {
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     $articulo = new articulo();
     $this->familia = new familia();
     $this->fabricante = new fabricante();
     $this->impuesto = new impuesto();
     $this->tarifa = new tarifa();
     $inventario = new inventario();
     /**
      * Si hay alguna extensión de tipo config y texto no_tab_tarifas,
      * desactivamos la pestaña tarifas.
      */
     $this->mostrar_tab_tarifas = TRUE;
     foreach ($this->extensions as $ext) {
         if ($ext->type == 'config' and $ext->text == 'no_tab_tarifas') {
             $this->mostrar_tab_tarifas = FALSE;
             break;
         }
     }
     if (isset($_POST['codtarifa'])) {
         /// crear/editar tarifa
         $tar0 = $this->tarifa->get($_POST['codtarifa']);
         if (!$tar0) {
             $tar0 = new tarifa();
             $tar0->codtarifa = $_POST['codtarifa'];
         }
         $tar0->nombre = $_POST['nombre'];
         $tar0->aplicar_a = $_POST['aplicar_a'];
         $tar0->set_x(floatval($_POST['dtopor']));
         $tar0->set_y(floatval($_POST['inclineal']));
         if ($tar0->save()) {
             $this->new_message("Tarifa guardada correctamente.");
         } else {
             $this->new_error_msg("¡Imposible guardar la tarifa!");
         }
     } else {
         if (isset($_GET['delete_tarifa'])) {
             /// eliminar tarifa
             $tar0 = $this->tarifa->get($_GET['delete_tarifa']);
             if ($tar0) {
                 if ($tar0->delete()) {
                     $this->new_message("Tarifa borrada correctamente.");
                 } else {
                     $this->new_error_msg("¡Imposible borrar la tarifa!");
                 }
             } else {
                 $this->new_error_msg("¡La tarifa no existe!");
             }
         } else {
             if (isset($_POST['referencia']) and isset($_POST['codfamilia']) and isset($_POST['codimpuesto'])) {
                 /// nuevo artículo
                 $this->save_codfamilia($_POST['codfamilia']);
                 $this->save_codimpuesto($_POST['codimpuesto']);
                 $art0 = $articulo->get($_POST['referencia']);
                 if ($art0) {
                     $this->new_error_msg('Ya existe el artículo <a href="' . $art0->url() . '">' . $art0->referencia . '</a>');
                 } else {
                     $articulo->referencia = $_POST['referencia'];
                     $articulo->descripcion = $_POST['referencia'];
                     $articulo->nostock = isset($_POST['nostock']);
                     if ($_POST['codfamilia'] != '') {
                         $articulo->codfamilia = $_POST['codfamilia'];
                     }
                     if ($_POST['codfabricante'] != '') {
                         $articulo->codfabricante = $_POST['codfabricante'];
                     }
                     $articulo->set_pvp(floatval($_POST['pvp']));
                     $articulo->set_impuesto($_POST['codimpuesto']);
                     if ($articulo->save()) {
                         $inventario->codalmacen = $_POST['codfamilia'];
                         $inventario->referencia = $_POST['referencia'];
                         $inventario->save();
                         header('location: ' . $articulo->url());
                     } else {
                         $this->new_error_msg("¡Error al crear el articulo!");
                     }
                 }
             } else {
                 if (isset($_GET['delete'])) {
                     /// eliminar artículo
                     $art = $articulo->get($_GET['delete']);
                     if ($art) {
                         if ($art->delete()) {
                             $this->new_message("Articulo " . $art->referencia . " eliminado correctamente.");
                         } else {
                             $this->new_error_msg("¡Error al eliminarl el articulo!");
                         }
                     }
                 }
             }
         }
     }
     /// recogemos los datos necesarios para la búsqueda
     $this->buscar = FALSE;
     $this->codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $this->codfamilia = $_REQUEST['codfamilia'];
         $this->buscar = TRUE;
     }
     $this->codfabricante = '';
     if (isset($_REQUEST['codfabricante'])) {
         $this->codfabricante = $_REQUEST['codfabricante'];
         $this->buscar = TRUE;
     }
     $this->con_stock = isset($_REQUEST['con_stock']);
     $this->bloqueados = isset($_REQUEST['bloqueados']);
     if (isset($_REQUEST['query']) or $this->con_stock or $this->bloqueados) {
         $this->buscar = TRUE;
     }
     $this->offset = 0;
     if (isset($_GET['offset'])) {
         $this->offset = intval($_GET['offset']);
     }
     if (isset($_GET['solo_stock'])) {
         $this->resultados = $articulo->search('', $this->offset, '', TRUE);
     } else {
         if (isset($_GET['public'])) {
             $this->resultados = $articulo->all_publico($this->offset);
         } else {
             $this->resultados = $articulo->search($this->query, $this->offset, $this->codfamilia, $this->con_stock, $this->codfabricante, $this->bloqueados);
         }
     }
 }
 private function new_search()
 {
     /// desactivamos la plantilla HTML
     $this->template = FALSE;
     $articulo = new articulo();
     $codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $codfamilia = $_REQUEST['codfamilia'];
     }
     $con_stock = isset($_REQUEST['con_stock']);
     $this->results = $articulo->search($this->query, 0, $codfamilia, $con_stock);
     /// añadimos la busqueda
     foreach ($this->results as $i => $value) {
         $this->results[$i]->query = $this->query;
     }
     header('Content-Type: application/json');
     echo json_encode($this->results);
 }
Exemple #10
0
 private function new_search()
 {
     /// desactivamos la plantilla HTML
     $this->template = FALSE;
     $articulo = new articulo();
     $codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $codfamilia = $_REQUEST['codfamilia'];
     }
     $con_stock = isset($_REQUEST['con_stock']);
     $this->results = $articulo->search($this->query, 0, $codfamilia, $con_stock);
     /// completamos los datos
     foreach ($this->results as $i => $value) {
         $this->results[$i]->query = $this->query;
         $this->results[$i]->coste = $value->preciocoste();
         $this->results[$i]->dtopor = 0;
         $ap = $this->articulo_prov->get_by($value->referencia, $_REQUEST['codproveedor']);
         if ($ap) {
             $this->results[$i]->coste = $ap->precio;
             $this->results[$i]->dtopor = $ap->dto;
         }
     }
     header('Content-Type: application/json');
     echo json_encode($this->results);
 }
 private function new_search()
 {
     /// desactivamos la plantilla HTML
     $this->template = FALSE;
     $articulo = new articulo();
     $codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $codfamilia = $_REQUEST['codfamilia'];
     }
     $con_stock = isset($_REQUEST['con_stock']);
     $this->results = $articulo->search($this->query, 0, $codfamilia, $con_stock);
     /// añadimos la busqueda
     foreach ($this->results as $i => $value) {
         $this->results[$i]->query = $this->query;
         $this->results[$i]->dtopor = 0;
     }
     /// buscamos el grupo de clientes y la tarifa
     if (isset($_REQUEST['codcliente'])) {
         $cliente = $this->cliente->get($_REQUEST['codcliente']);
         if ($cliente->codgrupo) {
             $grupo0 = new grupo_clientes();
             $grupo = $grupo0->get($cliente->codgrupo);
             if ($grupo) {
                 $tarifa0 = new tarifa();
                 $tarifa = $tarifa0->get($grupo->codtarifa);
                 if ($tarifa) {
                     foreach ($this->results as $i => $value) {
                         $this->results[$i]->dtopor = 0 - $tarifa->incporcentual;
                     }
                 }
             }
         }
     }
     header('Content-Type: application/json');
     echo json_encode($this->results);
 }
 protected function process()
 {
     $this->custom_search = TRUE;
     $articulo = new articulo();
     $this->familia = new familia();
     $this->impuesto = new impuesto();
     $this->tarifa = new tarifa();
     $this->buttons[] = new fs_button('b_nuevo_articulo', 'Nuevo', '#nuevo');
     $this->buttons[] = new fs_button('b_modificar_iva', 'Modificar IVA', '#mod-iva');
     $this->codfamilia = '';
     if (isset($_REQUEST['codfamilia'])) {
         $this->codfamilia = $_REQUEST['codfamilia'];
     }
     $this->con_stock = isset($_REQUEST['con_stock']);
     if (isset($_POST['codtarifa'])) {
         $tar0 = $this->tarifa->get($_POST['codtarifa']);
         if (!$tar0) {
             $tar0 = new tarifa();
             $tar0->codtarifa = $_POST['codtarifa'];
         }
         $tar0->nombre = $_POST['nombre'];
         $tar0->incporcentual = 0 - floatval($_POST['dtopor']);
         if ($tar0->save()) {
             $this->new_message("Tarifa guardada correctamente.");
         } else {
             $this->new_error_msg("¡Imposible guardar la tarifa!");
         }
     } else {
         if (isset($_GET['delete_tarifa'])) {
             $tar0 = $this->tarifa->get($_GET['delete_tarifa']);
             if ($tar0) {
                 if ($tar0->delete()) {
                     $this->new_message("Tarifa borrada correctamente.");
                 } else {
                     $this->new_error_msg("¡Imposible borrar la tarifa!");
                 }
             } else {
                 $this->new_error_msg("¡La tarifa no existe!");
             }
         } else {
             if (isset($_POST['mod_iva'])) {
                 if ($_POST['codimpuesto'] == $_POST['codimpuesto2']) {
                     $this->new_error_msg("¡Has seleccionado el mismo IVA dos veces!");
                 } else {
                     if ($articulo->move_codimpuesto($_POST['codimpuesto'], $_POST['codimpuesto2'], isset($_POST['mantener']))) {
                         $this->new_message("Artículos modificados correctamente.");
                     } else {
                         $this->new_error_msg("¡Impodible modificar los artículos!");
                     }
                 }
             } else {
                 if (isset($_POST['referencia']) and isset($_POST['codfamilia']) and isset($_POST['codimpuesto'])) {
                     $this->save_codfamilia($_POST['codfamilia']);
                     $this->save_codimpuesto($_POST['codimpuesto']);
                     $art0 = $articulo->get($_POST['referencia']);
                     if ($art0) {
                         $this->new_error_msg('Ya existe el artículo <a href="' . $art0->url() . '">' . $art0->referencia . '</a>');
                     } else {
                         $articulo->referencia = $_POST['referencia'];
                         $articulo->descripcion = $_POST['referencia'];
                         $articulo->codfamilia = $_POST['codfamilia'];
                         $articulo->set_impuesto($_POST['codimpuesto']);
                         if ($articulo->save()) {
                             header('location: ' . $articulo->url());
                         } else {
                             $this->new_error_msg("¡Error al crear el articulo!");
                         }
                     }
                 } else {
                     if (isset($_GET['delete'])) {
                         $art = $articulo->get($_GET['delete']);
                         if ($art) {
                             if ($art->delete()) {
                                 $this->new_message("Articulo " . $art->referencia . " eliminado correctamente.");
                             } else {
                                 $this->new_error_msg("¡Error al eliminarl el articulo!");
                             }
                         }
                     }
                 }
             }
         }
     }
     $this->offset = 0;
     if (isset($_GET['offset'])) {
         $this->offset = intval($_GET['offset']);
     }
     if ($this->query != '') {
         $this->resultados = $articulo->search($this->query, $this->offset, $this->codfamilia, $this->con_stock);
     } else {
         if (isset($_GET['solo_stock'])) {
             $this->resultados = $articulo->search('', $this->offset, '', TRUE);
         } else {
             if (isset($_GET['public'])) {
                 $this->resultados = $articulo->all_publico($this->offset);
             } else {
                 $this->resultados = $articulo->all($this->offset);
             }
         }
     }
 }