protected function process() { $this->show_fs_toolbar = FALSE; $this->cliente = FALSE; $this->pedido = FALSE; $this->presupuesto = FALSE; if (isset($_REQUEST['pedido']) and isset($_REQUEST['id'])) { $ped = new pedido_cliente(); $this->pedido = $ped->get($_REQUEST['id']); if ($this->pedido) { $cliente = new cliente(); $this->cliente = $cliente->get($this->pedido->codcliente); } if (isset($_POST['email'])) { $this->enviar_email('pedio'); } else { $this->generar_pdf_pedido(); } } else { if (isset($_REQUEST['presupuesto']) and isset($_REQUEST['id'])) { $pres = new presupuesto_cliente(); $this->presupuesto = $pres->get($_REQUEST['id']); if ($this->presupuesto) { $cliente = new cliente(); $this->cliente = $cliente->get($this->presupuesto->codcliente); } if (isset($_POST['email'])) { $this->enviar_email('presupuesto'); } else { $this->generar_pdf_presupuesto(); } } } $this->share_extensions(); }
public function __construct(&$db) { $pre = new presupuesto_cliente(); $pre->cron_job(); $ped = new pedido_cliente(); $ped->cron_job(); $pedp = new pedido_proveedor(); $pedp->cron_job(); }
protected function private_core() { $this->articulo_proveedor = new articulo_proveedor(); $this->cliente = FALSE; $this->impuesto = new impuesto(); $this->pedido = FALSE; $this->presupuesto = FALSE; $this->proveedor = FALSE; /// obtenemos los datos de configuración de impresión $this->impresion = array('print_ref' => '1', 'print_dto' => '1', 'print_alb' => '0'); $fsvar = new fs_var(); $this->impresion = $fsvar->array_get($this->impresion, FALSE); if (isset($_REQUEST['pedido_p']) and isset($_REQUEST['id'])) { $ped = new pedido_proveedor(); $this->pedido = $ped->get($_REQUEST['id']); if ($this->pedido) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->pedido->codproveedor); } if (isset($_POST['email'])) { $this->enviar_email_proveedor('pedio'); } else { $this->generar_pdf_pedido_proveedor(); } } else { if (isset($_REQUEST['pedido']) and isset($_REQUEST['id'])) { $ped = new pedido_cliente(); $this->pedido = $ped->get($_REQUEST['id']); if ($this->pedido) { $cliente = new cliente(); $this->cliente = $cliente->get($this->pedido->codcliente); } if (isset($_POST['email'])) { $this->enviar_email('pedio'); } else { $this->generar_pdf_pedido(); } } else { if (isset($_REQUEST['presupuesto']) and isset($_REQUEST['id'])) { $pres = new presupuesto_cliente(); $this->presupuesto = $pres->get($_REQUEST['id']); if ($this->presupuesto) { $cliente = new cliente(); $this->cliente = $cliente->get($this->presupuesto->codcliente); } if (isset($_POST['email'])) { $this->enviar_email('presupuesto'); } else { $this->generar_pdf_presupuesto(); } } } } $this->share_extensions(); }
protected function private_core() { /// declaramos los objetos sólo para asegurarnos de que existen las tablas $presupuesto = new presupuesto_cliente(); $pedido = new pedido_cliente(); $this->mostrar = 'stats'; if (isset($_REQUEST['mostrar'])) { $this->mostrar = $_REQUEST['mostrar']; } if ($this->mostrar == 'listado') { $this->desde = Date('1-m-Y'); $this->hasta = Date('d-m-Y', mktime(0, 0, 0, date("m") + 1, date("1") - 1, date("Y"))); if (isset($_POST['desde'])) { $this->desde = $_POST['desde']; $this->hasta = $_POST['hasta']; } $this->resultados = $presupuesto->all_desde($this->desde, $this->hasta); } }
protected function process() { $presupuesto = new presupuesto_cliente(); /// desactivamos la barra de botones $this->show_fs_toolbar = FALSE; $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if (isset($_POST['buscar_lineas'])) { $this->buscar_lineas(); } else { if (isset($_GET['codagente'])) { $this->template = 'extension/ventas_presupuestos_agente'; $agente = new agente(); $this->agente = $agente->get($_GET['codagente']); $this->resultados = $presupuesto->all_from_agente($_GET['codagente'], $this->offset); } else { if (isset($_GET['codcliente'])) { $this->template = 'extension/ventas_presupuestos_cliente'; $cliente = new cliente(); $this->cliente = $cliente->get($_GET['codcliente']); $this->resultados = $presupuesto->all_from_cliente($_GET['codcliente'], $this->offset); } else { if (isset($_GET['ref'])) { $this->template = 'extension/ventas_presupuestos_articulo'; $articulo = new articulo(); $this->articulo = $articulo->get($_GET['ref']); $linea = new linea_presupuesto_cliente(); $this->resultados = $linea->all_from_articulo($_GET['ref'], $this->offset); } else { $this->share_extension(); if (isset($_POST['delete'])) { $this->delete_presupuesto(); } if ($this->query) { $this->resultados = $presupuesto->search($this->query, $this->offset); } else { if (isset($_GET['pendientes'])) { $this->resultados = $presupuesto->all_ptepedir($this->offset); } else { $this->resultados = $presupuesto->all($this->offset); } } } } } } }
private function nuevo_presupuesto_cliente() { $continuar = TRUE; $cliente = $this->cliente->get($_POST['cliente']); if (!$cliente) { $this->new_error_msg('Cliente no encontrado.'); $continuar = FALSE; } $almacen = $this->almacen->get($_POST['almacen']); if ($almacen) { $this->save_codalmacen($_POST['almacen']); } else { $this->new_error_msg('Almacén no encontrado.'); $continuar = FALSE; } $eje0 = new ejercicio(); $ejercicio = $eje0->get_by_fecha($_POST['fecha']); if (!$ejercicio) { $this->new_error_msg('Ejercicio no encontrado.'); $continuar = FALSE; } $serie = $this->serie->get($_POST['serie']); if (!$serie) { $this->new_error_msg('Serie no encontrada.'); $continuar = FALSE; } $forma_pago = $this->forma_pago->get($_POST['forma_pago']); if ($forma_pago) { $this->save_codpago($_POST['forma_pago']); } else { $this->new_error_msg('Forma de pago no encontrada.'); $continuar = FALSE; } $divisa = $this->divisa->get($_POST['divisa']); if (!$divisa) { $this->new_error_msg('Divisa no encontrada.'); $continuar = FALSE; } $presupuesto = new presupuesto_cliente(); if ($this->duplicated_petition($_POST['petition_id'])) { $this->new_error_msg('Petición duplicada. Has hecho doble clic sobre el botón guardar y se han enviado dos peticiones. Mira en <a href="' . $presupuesto->url() . '">Presupuestos</a> para ver si el presupuesto se ha guardado correctamente.'); $continuar = FALSE; } if ($continuar) { $presupuesto->fecha = $_POST['fecha']; $presupuesto->finoferta = date("Y-m-d", strtotime($_POST['fecha'] . " +1 month")); $presupuesto->codalmacen = $almacen->codalmacen; $presupuesto->codejercicio = $ejercicio->codejercicio; $presupuesto->codserie = $serie->codserie; $presupuesto->codpago = $forma_pago->codpago; $presupuesto->coddivisa = $divisa->coddivisa; $presupuesto->tasaconv = $divisa->tasaconv; if ($_POST['tasaconv'] != '') { $presupuesto->tasaconv = floatval($_POST['tasaconv']); } $presupuesto->codagente = $this->agente->codagente; $presupuesto->observaciones = $_POST['observaciones']; $presupuesto->numero2 = $_POST['numero2']; $presupuesto->irpf = $serie->irpf; $presupuesto->porcomision = $this->agente->porcomision; $presupuesto->codcliente = $cliente->codcliente; $presupuesto->cifnif = $cliente->cifnif; $presupuesto->nombrecliente = $cliente->razonsocial; $presupuesto->ciudad = $_POST['ciudad']; $presupuesto->codpais = $_POST['codpais']; $presupuesto->codpostal = $_POST['codpostal']; $presupuesto->direccion = $_POST['direccion']; $presupuesto->provincia = $_POST['provincia']; if ($presupuesto->save()) { $art0 = new articulo(); $n = floatval($_POST['numlineas']); for ($i = 0; $i <= $n; $i++) { if (isset($_POST['referencia_' . $i])) { $linea = new linea_presupuesto_cliente(); $linea->idpresupuesto = $presupuesto->idpresupuesto; $linea->descripcion = $_POST['desc_' . $i]; if (!$serie->siniva and $cliente->regimeniva != 'Exento') { $imp0 = $this->impuesto->get_by_iva($_POST['iva_' . $i]); if ($imp0) { $linea->codimpuesto = $imp0->codimpuesto; $linea->iva = floatval($_POST['iva_' . $i]); $linea->recargo = floatval($_POST['recargo_' . $i]); } else { $linea->iva = floatval($_POST['iva_' . $i]); $linea->recargo = floatval($_POST['recargo_' . $i]); } } $linea->irpf = floatval($_POST['irpf_' . $i]); $linea->pvpunitario = floatval($_POST['pvp_' . $i]); $linea->cantidad = floatval($_POST['cantidad_' . $i]); $linea->dtopor = floatval($_POST['dto_' . $i]); $linea->pvpsindto = $linea->pvpunitario * $linea->cantidad; $linea->pvptotal = floatval($_POST['neto_' . $i]); $articulo = $art0->get($_POST['referencia_' . $i]); if ($articulo) { $linea->referencia = $articulo->referencia; } if ($linea->save()) { $presupuesto->neto += $linea->pvptotal; $presupuesto->totaliva += $linea->pvptotal * $linea->iva / 100; $presupuesto->totalirpf += $linea->pvptotal * $linea->irpf / 100; $presupuesto->totalrecargo += $linea->pvptotal * $linea->recargo / 100; } else { $this->new_error_msg("¡Imposible guardar la linea con referencia: " . $linea->referencia); $continuar = FALSE; } } } if ($continuar) { /// redondeamos $presupuesto->neto = round($presupuesto->neto, FS_NF0); $presupuesto->totaliva = round($presupuesto->totaliva, FS_NF0); $presupuesto->totalirpf = round($presupuesto->totalirpf, FS_NF0); $presupuesto->totalrecargo = round($presupuesto->totalrecargo, FS_NF0); $presupuesto->total = $presupuesto->neto + $presupuesto->totaliva - $presupuesto->totalirpf + $presupuesto->totalrecargo; if (abs(floatval($_POST['atotal']) - $presupuesto->total) >= 0.02) { $this->new_error_msg("El total difiere entre el controlador y la vista (" . $presupuesto->total . " frente a " . $_POST['atotal'] . "). Debes informar del error."); $presupuesto->delete(); } else { if ($presupuesto->save()) { $this->new_message("<a href='" . $presupuesto->url() . "'>" . ucfirst(FS_PRESUPUESTO) . "</a> guardado correctamente."); $this->new_change(ucfirst(FS_PRESUPUESTO) . ' a Cliente ' . $presupuesto->codigo, $presupuesto->url(), TRUE); if ($_POST['redir'] == 'TRUE') { header('Location: ' . $presupuesto->url()); } } else { $this->new_error_msg("¡Imposible actualizar el <a href='" . $presupuesto->url() . "'>" . FS_PRESUPUESTO . "</a>!"); } } } else { if ($presupuesto->delete()) { $this->new_message(ucfirst(FS_PRESUPUESTO) . " eliminado correctamente."); } else { $this->new_error_msg("¡Imposible eliminar el <a href='" . $presupuesto->url() . "'>" . FS_PRESUPUESTO . "</a>!"); } } } else { $this->new_error_msg("¡Imposible guardar el " . FS_PRESUPUESTO . "!"); } } }
protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $this->ppage = $this->page->get('ventas_presupuestos'); $this->agente = FALSE; $presupuesto = new presupuesto_cliente(); $this->presupuesto = FALSE; $this->cliente = new cliente(); $this->cliente_s = FALSE; $this->divisa = new divisa(); $this->ejercicio = new ejercicio(); $this->fabricante = new fabricante(); $this->familia = new familia(); $this->forma_pago = new forma_pago(); $this->impuesto = new impuesto(); $this->nuevo_presupuesto_url = FALSE; $this->pais = new pais(); $this->serie = new serie(); $this->setup_validez = 30; $this->configurar_validez(); /** * Comprobamos si el usuario tiene acceso a nueva_venta, * necesario para poder añadir líneas. */ if ($this->user->have_access_to('nueva_venta', FALSE)) { $nuevoprep = $this->page->get('nueva_venta'); if ($nuevoprep) { $this->nuevo_presupuesto_url = $nuevoprep->url(); } } if (isset($_POST['idpresupuesto'])) { $this->presupuesto = $presupuesto->get($_POST['idpresupuesto']); $this->modificar(); } else { if (isset($_GET['id'])) { $this->presupuesto = $presupuesto->get($_GET['id']); } } if ($this->presupuesto) { $this->page->title = $this->presupuesto->codigo; /// cargamos el agente if (!is_null($this->presupuesto->codagente)) { $agente = new agente(); $this->agente = $agente->get($this->presupuesto->codagente); } /// cargamos el cliente $this->cliente_s = $this->cliente->get($this->presupuesto->codcliente); /// comprobamos el presupuesto if ($this->presupuesto->full_test()) { if (isset($_REQUEST['status'])) { $this->presupuesto->status = intval($_REQUEST['status']); if ($this->presupuesto->status == 1 and is_null($this->presupuesto->idpedido)) { $this->generar_pedido(); } else { if ($this->presupuesto->save()) { $this->new_message(ucfirst(FS_PRESUPUESTO) . " modificado correctamente."); } else { $this->new_error_msg("¡Imposible modificar el " . FS_PRESUPUESTO . "!"); } } } else { /// Comprobamos las líneas $this->check_lineas(); } } } else { $this->new_error_msg("¡" . ucfirst(FS_PRESUPUESTO) . " de cliente no encontrado!"); } }
public function show_nombrecliente() { $nombre = 'desconocido'; $encontrado = FALSE; foreach (self::$presupuestos as $p) { if ($p->idpresupuesto == $this->idpresupuesto) { $nombre = $p->nombrecliente; $encontrado = TRUE; break; } } if (!$encontrado) { $pre = new presupuesto_cliente(); self::$presupuestos[] = $pre->get($this->idpresupuesto); $nombre = self::$presupuestos[count(self::$presupuestos) - 1]->nombrecliente; } return $nombre; }
<?php /* * This file is part of FacturaSctipts * Copyright (C) 2014 Carlos Garcia Gomez neorazorx@gmail.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ require_model('presupuesto_cliente.php'); $pre = new presupuesto_cliente(); /// marcamos como rechazados todos los presupuestos con finoferta ya pasada $db->exec("UPDATE presupuestoscli SET status = '2' WHERE finoferta < " . $pre->var2str(Date('d-m-Y')) . " AND idpedido = NULL;");
private function delete_presupuesto() { $pre = new presupuesto_cliente(); $pre1 = $pre->get($_POST['delete']); if ($pre1) { if ($pre1->delete()) { $this->new_message(ucfirst(FS_PRESUPUESTO) . " " . $pre1->codigo . " borrado correctamente."); } else { $this->new_error_msg("¡Imposible borrar el " . FS_PRESUPUESTO . "!"); } } else { $this->new_error_msg("¡" . ucfirst(FS_PRESUPUESTO) . " no encontrado!"); } }
private function rechazar() { $pre0 = new presupuesto_cliente(); $offset = 0; $presupuestos = $pre0->all_ptepedir(); while ($presupuestos) { foreach ($presupuestos as $pre) { $pre->status = 2; $pre->save(); $offset++; } $presupuestos = $pre0->all_ptepedir(); } $this->new_message($offset . ' ' . FS_PRESUPUESTOS . ' rechazados.'); }
private function rechazar() { $pre0 = new presupuesto_cliente(); $num = 0; $offset = 0; $presupuestos = $pre0->all_ptepedir(); while ($presupuestos) { foreach ($presupuestos as $pre) { if (strtotime($pre->fecha) < strtotime($_POST['rechazar'])) { $pre->status = 2; $pre->save(); $num++; } $offset++; } $presupuestos = $pre0->all_ptepedir($offset); } $this->new_message($num . ' ' . FS_PRESUPUESTOS . ' rechazados.'); }
protected function private_core() { $this->share_extensions(); $this->documento = FALSE; if (isset($_REQUEST['presu'])) { $pre0 = new presupuesto_cliente(); $this->documento = $pre0->get($_REQUEST['id']); if ($this->documento) { $this->titulo = FS_PRESUPUESTO . ' ' . $this->documento->codigo; $this->lineas = $this->documento->get_lineas(); if (isset($_POST['idlinea'])) { if ($this->documento->editable) { $orden = 1 + count($_POST['idlinea']); foreach ($_POST['idlinea'] as $idl) { foreach ($this->lineas as $lin) { if ($lin->idlinea == $idl) { $lin->orden = $orden; $lin->mostrar_cantidad = FALSE; $lin->mostrar_precio = FALSE; if (isset($_POST['mostrar_cantidad_' . $idl])) { $lin->mostrar_cantidad = TRUE; $lin->mostrar_precio = isset($_POST['mostrar_precio_' . $idl]); } $lin->save(); break; } } $orden--; } $this->new_message('Datos guardados correctamente.'); $this->lineas = $this->documento->get_lineas(); } else { $this->new_error_msg('El documento ya no es editable.'); } } } } else { if (isset($_REQUEST['pedido'])) { $ped0 = new pedido_cliente(); $this->documento = $ped0->get($_REQUEST['id']); if ($this->documento) { $this->titulo = FS_PEDIDO . ' ' . $this->documento->codigo; $this->lineas = $this->documento->get_lineas(); if (isset($_POST['idlinea'])) { if ($this->documento->editable) { $orden = 1 + count($_POST['idlinea']); foreach ($_POST['idlinea'] as $idl) { foreach ($this->lineas as $lin) { if ($lin->idlinea == $idl) { $lin->orden = $orden; $lin->mostrar_cantidad = FALSE; $lin->mostrar_precio = FALSE; if (isset($_POST['mostrar_cantidad_' . $idl])) { $lin->mostrar_cantidad = TRUE; $lin->mostrar_precio = isset($_POST['mostrar_precio_' . $idl]); } $lin->save(); break; } } $orden--; } $this->new_message('Datos guardados correctamente.'); $this->lineas = $this->documento->get_lineas(); } else { $this->new_error_msg('El documento ya no es editable.'); } } } } } }
private function nuevo_presupuesto_cliente() { $continuar = TRUE; $cliente = $this->cliente->get($_POST['cliente']); if ($cliente) { $this->save_codcliente($cliente->codcliente); } else { $this->new_error_msg('Cliente no encontrado.'); $continuar = FALSE; } $almacen = $this->almacen->get($_POST['almacen']); if ($almacen) { $this->save_codalmacen($almacen->codalmacen); } else { $this->new_error_msg('Almacén no encontrado.'); $continuar = FALSE; } $eje0 = new ejercicio(); $ejercicio = $eje0->get_by_fecha($_POST['fecha']); if ($ejercicio) { $this->save_codejercicio($ejercicio->codejercicio); } else { $this->new_error_msg('Ejercicio no encontrado.'); $continuar = FALSE; } $serie = $this->serie->get($_POST['serie']); if (!$serie) { $this->new_error_msg('Serie no encontrada.'); $continuar = FALSE; } $forma_pago = $this->forma_pago->get($_POST['forma_pago']); if ($forma_pago) { $this->save_codpago($forma_pago->codpago); } else { $this->new_error_msg('Forma de pago no encontrada.'); $continuar = FALSE; } $divisa = $this->divisa->get($_POST['divisa']); if ($divisa) { $this->save_coddivisa($divisa->coddivisa); } else { $this->new_error_msg('Divisa no encontrada.'); $continuar = FALSE; } $presupuesto = new presupuesto_cliente(); if ($this->duplicated_petition($_POST['petition_id'])) { $this->new_error_msg('Petición duplicada. Has hecho doble clic sobre el botón guardar y se han enviado dos peticiones. Mira en <a href="' . $presupuesto->url() . '">Presupuestos</a> para ver si el presupuesto se ha guardado correctamente.'); $continuar = FALSE; } if ($continuar) { $presupuesto->fecha = $_POST['fecha']; $presupuesto->finoferta = date("Y-m-d", strtotime($_POST['fecha'] . " +30 days")); $presupuesto->codalmacen = $almacen->codalmacen; $presupuesto->codejercicio = $ejercicio->codejercicio; $presupuesto->codserie = $serie->codserie; $presupuesto->codpago = $forma_pago->codpago; $presupuesto->coddivisa = $divisa->coddivisa; $presupuesto->tasaconv = $divisa->tasaconv; $presupuesto->codagente = $this->agente->codagente; $presupuesto->observaciones = $_POST['observaciones']; $presupuesto->numero2 = $_POST['numero2']; $presupuesto->irpf = $serie->irpf; $presupuesto->porcomision = $this->agente->porcomision; foreach ($cliente->get_direcciones() as $d) { if ($d->domfacturacion) { $presupuesto->codcliente = $cliente->codcliente; $presupuesto->cifnif = $cliente->cifnif; $presupuesto->nombrecliente = $cliente->nombrecomercial; $presupuesto->apartado = $d->apartado; $presupuesto->ciudad = $d->ciudad; $presupuesto->coddir = $d->id; $presupuesto->codpais = $d->codpais; $presupuesto->codpostal = $d->codpostal; $presupuesto->direccion = $d->direccion; $presupuesto->provincia = $d->provincia; break; } } if (is_null($presupuesto->codcliente)) { $this->new_error_msg("No hay ninguna dirección asociada al cliente."); } else { if ($presupuesto->save()) { $art0 = new articulo(); $n = floatval($_POST['numlineas']); for ($i = 0; $i <= $n; $i++) { if (isset($_POST['referencia_' . $i])) { $articulo = $art0->get($_POST['referencia_' . $i]); if ($articulo) { $linea = new linea_presupuesto_cliente(); $linea->idpresupuesto = $presupuesto->idpresupuesto; $linea->referencia = $articulo->referencia; $linea->descripcion = $_POST['desc_' . $i]; if (!$serie->siniva and $cliente->regimeniva != 'Exento') { $imp0 = $this->impuesto->get_by_iva($_POST['iva_' . $i]); if ($imp0) { $linea->codimpuesto = $imp0->codimpuesto; $linea->iva = floatval($_POST['iva_' . $i]); $linea->recargo = floatval($_POST['recargo_' . $i]); } else { $linea->iva = floatval($_POST['iva_' . $i]); $linea->recargo = floatval($_POST['recargo_' . $i]); } } if ($linea->iva > 0) { $linea->irpf = $presupuesto->irpf; } $linea->pvpunitario = floatval($_POST['pvp_' . $i]); $linea->cantidad = floatval($_POST['cantidad_' . $i]); //$linea->dtopor = floatval($_POST['000001'.$i]); $linea->pvpsindto = $linea->pvpunitario * $linea->cantidad; $linea->pvptotal = floatval($_POST['neto_' . $i]); if ($linea->save()) { $presupuesto->neto += $linea->pvptotal; $presupuesto->totaliva += $linea->pvptotal * $linea->iva / 100; $presupuesto->totalirpf += $linea->pvptotal * $linea->irpf / 100; $presupuesto->totalrecargo += $linea->pvptotal * $linea->recargo / 100; } else { $this->new_error_msg("¡Imposible guardar la linea con referencia: " . $linea->referencia); $continuar = FALSE; } } else { $this->new_error_msg("Artículo no encontrado: " . $_POST['referencia_' . $i]); $continuar = FALSE; } } } if ($continuar) { /// redondeamos $presupuesto->neto = round($presupuesto->neto, FS_NF0); $presupuesto->totaliva = round($presupuesto->totaliva, FS_NF0); $presupuesto->totalirpf = round($presupuesto->totalirpf, FS_NF0); $presupuesto->totalrecargo = round($presupuesto->totalrecargo, FS_NF0); $presupuesto->total = $presupuesto->neto + $presupuesto->totaliva - $presupuesto->totalirpf + $presupuesto->totalrecargo; if ($presupuesto->save()) { $this->new_message("<a href='" . $presupuesto->url() . "'>" . ucfirst(FS_PRESUPUESTO) . "</a> guardado correctamente. <a href='index.php?page=imprimir_presu_pedi&presupuesto=TRUE&id=" . $presupuesto->idpresupuesto . "'>Imprimir</a>"); $this->new_change(ucfirst(FS_PRESUPUESTO) . ' a Cliente ' . $presupuesto->codigo, $presupuesto->url(), TRUE); $this->cliente_s = $this->cliente->get("000001"); //reseteo el cliente } else { $this->new_error_msg("¡Imposible actualizar el <a href='" . $presupuesto->url() . "'>" . FS_PRESUPUESTO . "</a>!"); } } else { if ($presupuesto->delete()) { $this->new_message(ucfirst(FS_PRESUPUESTO) . " eliminado correctamente."); } else { $this->new_error_msg("¡Imposible eliminar el <a href='" . $presupuesto->url() . "'>" . FS_PRESUPUESTO . "</a>!"); } } } else { $this->new_error_msg("¡Imposible guardar el " . FS_PRESUPUESTO . "!"); } } } }
protected function process() { $this->ppage = $this->page->get('ventas_presupuestos'); $this->agente = FALSE; /// desactivamos la barra de botones $this->show_fs_toolbar = FALSE; $presupuesto = new presupuesto_cliente(); $this->presupuesto = FALSE; $this->cliente = new cliente(); $this->cliente_s = FALSE; $this->ejercicio = new ejercicio(); $this->familia = new familia(); $this->impuesto = new impuesto(); $this->nuevo_presupuesto_url = FALSE; $this->serie = new serie(); /** * Comprobamos si el usuario tiene acceso a nueva_venta, * necesario para poder añadir líneas. */ if ($this->user->have_access_to('nueva_venta', FALSE)) { $nuevoprep = $this->page->get('nueva_venta'); if ($nuevoprep) { $this->nuevo_presupuesto_url = $nuevoprep->url(); } } if (isset($_POST['idpresupuesto'])) { $this->presupuesto = $presupuesto->get($_POST['idpresupuesto']); $this->modificar(); } else { if (isset($_GET['id'])) { $this->presupuesto = $presupuesto->get($_GET['id']); } } if ($this->presupuesto) { $this->page->title = $this->presupuesto->codigo; /// cargamos el agente if (!is_null($this->presupuesto->codagente)) { $agente = new agente(); $this->agente = $agente->get($this->presupuesto->codagente); } /// cargamos el cliente $this->cliente_s = $this->cliente->get($this->presupuesto->codcliente); /// comprobamos el presupuesto if ($this->presupuesto->full_test()) { if (strtotime($this->presupuesto->finoferta) < strtotime(Date('d-m-Y')) and $this->presupuesto->status != 2) { $this->new_advice("Fecha validez del " . FS_PRESUPUESTO . " vencida."); $this->presupuesto->status = 2; /// rechazado $this->presupuesto->save(); } else { if (isset($_REQUEST['status'])) { $this->presupuesto->status = intval($_REQUEST['status']); if ($this->presupuesto->status == 1 and is_null($this->presupuesto->idpedido)) { $this->generar_pedido(); } else { if ($this->presupuesto->save()) { $this->new_message(ucfirst(FS_PRESUPUESTO) . " modificado correctamente."); } else { $this->new_error_msg("¡Imposible modificar el " . FS_PRESUPUESTO . "!"); } } } else { /// Comprobamos las líneas $this->check_lineas(); } } } } else { $this->new_error_msg("¡" . ucfirst(FS_PRESUPUESTO) . " de cliente no encontrado!"); } }