protected function process() { $this->ppage = $this->page->get('compras_proveedores'); $this->cuenta_banco = new cuenta_banco_proveedor(); $this->divisa = new divisa(); $this->forma_pago = new forma_pago(); $this->pais = new pais(); $this->serie = new serie(); /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); /// cargamos el proveedor $proveedor = new proveedor(); $this->proveedor = FALSE; if (isset($_POST['codproveedor'])) { $this->proveedor = $proveedor->get($_POST['codproveedor']); } else { if (isset($_GET['cod'])) { $this->proveedor = $proveedor->get($_GET['cod']); } } /// ¿Hay que hacer algo más? if (isset($_GET['delete_cuenta'])) { $cuenta = $this->cuenta_banco->get($_GET['delete_cuenta']); if ($cuenta) { if ($cuenta->delete()) { $this->new_message('Cuenta bancaria eliminada correctamente.'); } else { $this->new_error_msg('Imposible eliminar la cuenta bancaria.'); } } else { $this->new_error_msg('Cuenta bancaria no encontrada.'); } } else { if (isset($_GET['delete_dir'])) { $dir = new direccion_proveedor(); $dir0 = $dir->get($_GET['delete_dir']); if ($dir0) { if ($dir0->delete()) { $this->new_message('Dirección eliminada correctamente.'); } else { $this->new_error_msg('Imposible eliminar la dirección.'); } } else { $this->new_error_msg('Dirección no encontrada.'); } } else { if (isset($_POST['coddir'])) { $direccion = new direccion_proveedor(); if ($_POST['coddir'] != '') { $direccion = $direccion->get($_POST['coddir']); } $direccion->apartado = $_POST['apartado']; $direccion->ciudad = $_POST['ciudad']; $direccion->codpais = $_POST['pais']; $direccion->codpostal = $_POST['codpostal']; $direccion->codproveedor = $this->proveedor->codproveedor; $direccion->descripcion = $_POST['descripcion']; $direccion->direccion = $_POST['direccion']; $direccion->direccionppal = isset($_POST['direccionppal']); $direccion->provincia = $_POST['provincia']; if ($direccion->save()) { $this->new_message("Dirección guardada correctamente."); } else { $this->new_error_msg("¡Imposible guardar la dirección!"); } } else { if (isset($_POST['iban'])) { if (isset($_POST['codcuenta'])) { $cuentab = $this->cuenta_banco->get($_POST['codcuenta']); } else { $cuentab = new cuenta_banco_proveedor(); $cuentab->codproveedor = $this->proveedor->codproveedor; } $cuentab->descripcion = $_POST['descripcion']; if ($_POST['ciban'] != '') { $cuentab->iban = $this->calcular_iban($_POST['ciban']); } else { $cuentab->iban = $_POST['iban']; } $cuentab->swift = $_POST['swift']; if ($cuentab->save()) { $this->new_message('Cuenta bancaria guardada correctamente.'); } else { $this->new_error_msg('Imposible guardar la cuenta bancaria.'); } } else { if (isset($_POST['codproveedor'])) { $this->proveedor->nombre = $_POST['nombre']; $this->proveedor->razonsocial = $_POST['razonsocial']; $this->proveedor->cifnif = $_POST['cifnif']; $this->proveedor->telefono1 = $_POST['telefono1']; $this->proveedor->telefono2 = $_POST['telefono2']; $this->proveedor->fax = $_POST['fax']; $this->proveedor->email = $_POST['email']; $this->proveedor->web = $_POST['web']; $this->proveedor->observaciones = $_POST['observaciones']; $this->proveedor->codserie = $_POST['codserie']; $this->proveedor->codpago = $_POST['codpago']; $this->proveedor->coddivisa = $_POST['coddivisa']; $this->proveedor->regimeniva = $_POST['regimeniva']; $this->proveedor->acreedor = isset($_POST['acreedor']); if ($this->proveedor->save()) { $this->new_message('Datos del proveedor modificados correctamente.'); } else { $this->new_error_msg('¡Imposible modificar los datos del proveedor!'); } } } } } } if ($this->proveedor) { $this->page->title = $this->proveedor->codproveedor; } else { $this->new_error_msg("¡Proveedor no encontrado!"); } }