protected function process() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); /** * Si hay alguna extensión de tipo config y texto button_plazos, * mostramos un botón con enlace a la página de la extensión. */ $this->button_plazos = FALSE; foreach ($this->extensions as $ext) { if ($ext->type == 'config' and $ext->text == 'button_plazos') { $this->button_plazos = $ext->from; break; } } $cuentab = new cuenta_banco(); $this->cuentas_banco = $cuentab->all_from_empresa(); $this->forma_pago = new forma_pago(); if (isset($_POST['codpago'])) { $fp0 = $this->forma_pago->get($_POST['codpago']); if (!$fp0) { $fp0 = new forma_pago(); $fp0->codpago = $_POST['codpago']; } $fp0->descripcion = $_POST['descripcion']; $fp0->genrecibos = $_POST['genrecibos']; $fp0->vencimiento = $_POST['vencimiento']; $fp0->domiciliado = isset($_POST['domiciliado']); $fp0->codcuenta = NULL; if ($_POST['codcuenta'] != '') { $fp0->codcuenta = $_POST['codcuenta']; } if ($fp0->codpago == '' or $fp0->descripcion == '') { $this->new_error_msg('Debes poner algún nombre a la forma de pago.'); } else { if ($fp0->save()) { $this->new_message('Forma pago ' . $fp0->codpago . ' guardada correctamente.'); } else { $this->new_error_msg('Error al guardar la forma pago.'); } } } else { if (isset($_GET['delete'])) { $fp0 = $this->forma_pago->get($_GET['delete']); if ($fp0) { if (!$this->user->admin) { $this->new_error_msg('Sólo un administrador puede eliminar formas de pago.'); } else { if ($fp0->delete()) { $this->new_message('Forma de pago ' . $fp0->codpago . ' eliminada correctamente.'); } else { $this->new_error_msg('Error al eliminar la forma de pago ' . $fp0->codpago . '.'); } } } else { $this->new_error_msg('Forma de pago no encontrada.'); } } } }
protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); /** * Si hay alguna extensión de tipo config y texto button_plazos, * mostramos un botón con enlace a la página de la extensión. */ $this->button_plazos = FALSE; foreach ($this->extensions as $ext) { if ($ext->type == 'config' and $ext->text == 'button_plazos') { $this->button_plazos = $ext->from; break; } } $cuentab = new cuenta_banco(); $this->cuentas_banco = $cuentab->all_from_empresa(); $this->forma_pago = new forma_pago(); if (isset($_POST['codpago'])) { /// crear/modificar forma de pago $nueva = FALSE; $fp0 = $this->forma_pago->get($_POST['codpago']); if (!$fp0) { $fp0 = new forma_pago(); $fp0->codpago = $_POST['codpago']; $nueva = TRUE; } $fp0->descripcion = $_POST['descripcion']; $fp0->genrecibos = $_POST['genrecibos']; $fp0->vencimiento = $_POST['vencimiento']; $fp0->codcuenta = NULL; if ($_POST['codcuenta'] != '') { $fp0->codcuenta = $_POST['codcuenta']; } $fp0->domiciliado = FALSE; if (isset($_POST['domiciliado'])) { if (is_null($fp0->codcuenta)) { $this->new_error_msg('Para marcar una forma de pago como domiciliada,' . ' también tienes que seleccionar una cuenta bancaria.'); } else { $fp0->domiciliado = TRUE; } } if ($fp0->codpago == '' or $fp0->descripcion == '') { $this->new_error_msg('Debes poner algún nombre a la forma de pago.'); } else { if ($fp0->save()) { $this->new_message('Forma de pago ' . $fp0->codpago . ' guardada correctamente.'); if ($nueva and $this->button_plazos and $fp0->genrecibos == 'Emitidos') { header('Location: index.php?page=' . $this->button_plazos . '&cod=' . $fp0->codpago . '&nueva=TRUE'); } } else { $this->new_error_msg('Error al guardar la forma pago.'); } } } else { if (isset($_GET['delete'])) { $fp0 = $this->forma_pago->get($_GET['delete']); if ($fp0) { if (!$this->user->admin) { $this->new_error_msg('Sólo un administrador puede eliminar formas de pago.'); } else { if ($fp0->delete()) { $this->new_message('Forma de pago ' . $fp0->codpago . ' eliminada correctamente.'); } else { $this->new_error_msg('Error al eliminar la forma de pago ' . $fp0->codpago . '.'); } } } else { $this->new_error_msg('Forma de pago no encontrada.'); } } } }