public function valores() { $valor0 = new atributo_valor(); return $valor0->all_from_atributo($this->codatributo); }
private function modificar() { if (isset($_POST['nombre'])) { $this->atributo->nombre = $_POST['nombre']; if ($this->atributo->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Error al guardar los datos.'); } } else { if (isset($_POST['nuevo_valor'])) { $valor = new atributo_valor(); $valor->codatributo = $this->atributo->codatributo; $valor->valor = $_POST['nuevo_valor']; if ($valor->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Error al guardar los datos.'); } } else { if (isset($_POST['id'])) { $val0 = new atributo_valor(); $valor = $val0->get($_POST['id']); if ($valor) { $valor->valor = $_POST['valor']; if ($valor->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Error al guardar los datos.'); } } } else { if (isset($_GET['delete_val'])) { $val0 = new atributo_valor(); $valor = $val0->get($_GET['delete_val']); if ($valor) { if ($valor->delete()) { $this->new_message('Valor eliminado correctamente.'); } else { $this->new_error_msg('Error al eliminar el valor.'); } } } } } } }
private function modificar() { if (isset($_POST['pvpiva'])) { $continuar = TRUE; $this->articulo->set_impuesto($_POST['codimpuesto']); $this->articulo->set_pvp_iva(floatval($_POST['pvpiva'])); if (isset($_POST['preciocoste'])) { $this->articulo->costemedio = $this->articulo->preciocoste = floatval($_POST['preciocoste']); } if ($this->articulo->save()) { $this->new_message("Precio modificado correctamente."); } else { $this->new_error_msg("Error al modificar el precio."); } } else { if (isset($_POST['almacen'])) { if ($_POST['cantidadini'] == $_POST['cantidad']) { /// sin cambios de stock, pero aún así guardamos la ubicación foreach ($this->articulo->get_stock() as $stock) { if ($stock->codalmacen == $_POST['almacen']) { /// forzamos que se asigne el nombre del almacén $stock->nombre(); $stock->ubicacion = $_POST['ubicacion']; if ($stock->save()) { $this->new_message('Cambios guardados correctamente.'); } } } } else { if ($this->articulo->set_stock($_POST['almacen'], $_POST['cantidad'])) { $this->new_message("Stock guardado correctamente."); /// añadimos la regularización foreach ($this->articulo->get_stock() as $stock) { if ($stock->codalmacen == $_POST['almacen']) { /// forzamos que se asigne el nombre del almacén $stock->nombre(); $stock->ubicacion = $_POST['ubicacion']; $stock->save(); $regularizacion = new regularizacion_stock(); $regularizacion->idstock = $stock->idstock; $regularizacion->cantidadini = floatval($_POST['cantidadini']); $regularizacion->cantidadfin = floatval($_POST['cantidad']); $regularizacion->codalmacendest = $_POST['almacen']; $regularizacion->motivo = $_POST['motivo']; $regularizacion->nick = $this->user->nick; if ($regularizacion->save()) { $this->new_message('Cambios guardados correctamente.'); } break; } } } else { $this->new_error_msg("Error al guardar el stock."); } } } else { if (isset($_GET['deletereg'])) { $reg = new regularizacion_stock(); $regularizacion = $reg->get($_GET['deletereg']); if ($regularizacion) { if ($regularizacion->delete()) { $this->new_message('Regularización eliminada correctamente.'); } else { $this->new_error_msg('Error al eliminar la regularización.'); } } else { $this->new_error_msg('Regularización no encontrada.'); } } else { if (isset($_POST['imagen'])) { if (is_uploaded_file($_FILES['fimagen']['tmp_name'])) { $png = substr(strtolower($_FILES['fimagen']['name']), -3) == 'png'; $this->articulo->set_imagen(file_get_contents($_FILES['fimagen']['tmp_name']), $png); if ($this->articulo->save()) { $this->new_message("Imagen del articulo modificada correctamente"); } else { $this->new_error_msg("¡Error al guardar la imagen del articulo!"); } } } else { if (isset($_GET['delete_img'])) { $this->articulo->set_imagen(NULL); if ($this->articulo->save()) { $this->new_message("Imagen del articulo eliminada correctamente"); } else { $this->new_error_msg("¡Error al eliminar la imagen del articulo!"); } } else { if (isset($_POST['referencia'])) { $this->articulo->descripcion = $_POST['descripcion']; $this->articulo->tipo = NULL; if ($_POST['tipo'] != '') { $this->articulo->tipo = $_POST['tipo']; } $this->articulo->codfamilia = NULL; if ($_POST['codfamilia'] != '') { $this->articulo->codfamilia = $_POST['codfamilia']; } $this->articulo->codfabricante = NULL; if ($_POST['codfabricante'] != '') { $this->articulo->codfabricante = $_POST['codfabricante']; } /// ¿Existe ya ese código de barras? if ($_POST['codbarras'] != '') { $arts = $this->articulo->search_by_codbar($_POST['codbarras']); if ($arts) { foreach ($arts as $art2) { if ($art2->referencia != $this->articulo->referencia) { $this->new_advice('Ya hay un artículo con este mismo código de barras. ' . 'En concreto, el artículo <a href="' . $art2->url() . '">' . $art2->referencia . '</a>.'); break; } } } } $this->articulo->codbarras = $_POST['codbarras']; $this->articulo->partnumber = $_POST['partnumber']; $this->articulo->equivalencia = $_POST['equivalencia']; $this->articulo->bloqueado = isset($_POST['bloqueado']); $this->articulo->controlstock = isset($_POST['controlstock']); $this->articulo->nostock = isset($_POST['nostock']); $this->articulo->secompra = isset($_POST['secompra']); $this->articulo->sevende = isset($_POST['sevende']); $this->articulo->publico = isset($_POST['publico']); $this->articulo->observaciones = $_POST['observaciones']; $this->articulo->stockmin = floatval($_POST['stockmin']); $this->articulo->stockmax = floatval($_POST['stockmax']); $this->articulo->trazabilidad = isset($_POST['trazabilidad']); if ($this->articulo->save()) { $this->new_message("Datos del articulo modificados correctamente"); $img = $this->articulo->imagen_url(); $this->articulo->set_referencia($_POST['nreferencia']); /// ¿Renombramos la imagen? if ($img) { @rename($img, $this->articulo->imagen_url()); } /** * Renombramos la referencia en el resto de tablas: lineasalbaranes, lineasfacturas... */ if ($this->db->table_exists('lineasalbaranescli')) { $this->db->exec("UPDATE lineasalbaranescli SET referencia = " . $this->empresa->var2str($_POST['nreferencia']) . " WHERE referencia = " . $this->empresa->var2str($_POST['referencia']) . ";"); } if ($this->db->table_exists('lineasalbaranesprov')) { $this->db->exec("UPDATE lineasalbaranesprov SET referencia = " . $this->empresa->var2str($_POST['nreferencia']) . " WHERE referencia = " . $this->empresa->var2str($_POST['referencia']) . ";"); } if ($this->db->table_exists('lineasfacturascli')) { $this->db->exec("UPDATE lineasfacturascli SET referencia = " . $this->empresa->var2str($_POST['nreferencia']) . " WHERE referencia = " . $this->empresa->var2str($_POST['referencia']) . ";"); } if ($this->db->table_exists('lineasfacturasprov')) { $this->db->exec("UPDATE lineasfacturasprov SET referencia = " . $this->empresa->var2str($_POST['nreferencia']) . " WHERE referencia = " . $this->empresa->var2str($_POST['referencia']) . ";"); } /// esto es una personalización del plugin producción, será eliminado este código en futuras versiones. if ($this->db->table_exists('lineasfabricados')) { $this->db->exec("UPDATE lineasfabricados SET referencia = " . $this->empresa->var2str($_POST['nreferencia']) . " WHERE referencia = " . $this->empresa->var2str($_POST['referencia']) . ";"); } } else { $this->new_error_msg("¡Error al guardar el articulo!"); } } else { if (isset($_GET['recalcular_stock'])) { $this->calcular_stock_real(); } else { if (isset($_POST['nueva_combi'])) { $comb1 = new articulo_combinacion(); $comb1->referencia = $this->articulo->referencia; $comb1->impactoprecio = floatval($_POST['impactoprecio']); $error = TRUE; $valor0 = new atributo_valor(); for ($i = 0; $i < 10; $i++) { if (isset($_POST['idvalor_' . $i])) { if ($i == 0) { $error = FALSE; } $valor = $valor0->get($_POST['idvalor_' . $i]); if ($valor) { $comb1->id = NULL; $comb1->idvalor = $valor->id; $comb1->nombreatributo = $valor->nombre(); $comb1->valor = $valor->valor; if (!$comb1->save()) { $error = TRUE; } } } else { break; } } if ($error) { $this->new_error_msg('Error al guardar la combinación.'); } else { $this->new_message('Combinación guardada correctamente.'); } } else { if (isset($_POST['editar_combi'])) { $comb1 = new articulo_combinacion(); foreach ($comb1->all_from_codigo($_POST['editar_combi']) as $com) { $com->impactoprecio = floatval($_POST['impactoprecio']); $com->save(); } $this->new_message('Combinación modificada.'); } else { if (isset($_GET['delete_combi'])) { $comb1 = new articulo_combinacion(); foreach ($comb1->all_from_codigo($_GET['delete_combi']) as $com) { $com->delete(); } $this->new_message('Combinación eliminada.'); } } } } } } } } } } }