protected function private_core()
 {
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     $eje = new ejercicio();
     $this->ejercicios = $eje->all();
     $this->serie = new serie();
     $fsvar = new fs_var();
     if (isset($_GET['num_personalizada'])) {
         $this->num_personalizada = TRUE;
         $fsvar->simple_save('numeracion_personalizada', $this->num_personalizada);
     } else {
         $this->num_personalizada = $fsvar->simple_get('numeracion_personalizada');
     }
     if (isset($_POST['codserie'])) {
         $serie = $this->serie->get($_POST['codserie']);
         if (!$serie) {
             $serie = new serie();
             $serie->codserie = $_POST['codserie'];
         }
         $serie->descripcion = $_POST['descripcion'];
         $serie->siniva = isset($_POST['siniva']);
         $serie->irpf = floatval($_POST['irpf']);
         if ($this->num_personalizada) {
             $serie->codejercicio = NULL;
             $serie->numfactura = 1;
             if ($_POST['codejercicio'] != '') {
                 $serie->codejercicio = $_POST['codejercicio'];
                 $serie->numfactura = intval($_POST['numfactura']);
             }
         }
         if ($serie->save()) {
             $this->new_message("Serie " . $serie->codserie . " guardada correctamente");
         } else {
             $this->new_error_msg("¡Imposible guardar la serie!");
         }
     } else {
         if (isset($_GET['delete'])) {
             if (!$this->user->admin) {
                 $this->new_error_msg('Sólo un administrador puede eliminar series.');
             } else {
                 $serie = $this->serie->get($_GET['delete']);
                 if ($serie) {
                     if ($serie->delete()) {
                         $this->new_message('Serie eliminada correctamente.');
                     } else {
                         $this->new_error_msg("¡Imposible eliminar la serie!");
                     }
                 } else {
                     $this->new_error_msg("Serie no encontrada.");
                 }
             }
         }
     }
 }
 protected function process()
 {
     $this->serie = new serie();
     if (isset($_POST['codserie'])) {
         $serie = $this->serie->get($_POST['codserie']);
         if (!$serie) {
             $serie = new serie();
             $serie->codserie = $_POST['codserie'];
         }
         $serie->descripcion = $_POST['descripcion'];
         $serie->siniva = isset($_POST['siniva']);
         $serie->irpf = floatval($_POST['irpf']);
         if ($serie->save()) {
             $this->new_message("Serie " . $serie->codserie . " guardada correctamente");
         } else {
             $this->new_error_msg("¡Imposible guardar la serie!");
         }
     } else {
         if (isset($_GET['delete'])) {
             if (FS_DEMO) {
                 $this->new_error_msg('En el modo demo no puedes eliminar series. Otro usuario podría necesitarlas.');
             } else {
                 if (!$this->user->admin) {
                     $this->new_error_msg('Sólo un administrador puede eliminar series.');
                 } else {
                     $serie = $this->serie->get($_GET['delete']);
                     if ($serie) {
                         if ($serie->delete()) {
                             $this->new_message('Serie eliminada correctamente.');
                         } else {
                             $this->new_error_msg("¡Imposible eliminar la serie!");
                         }
                     } else {
                         $this->new_error_msg("Serie no encontrada.");
                     }
                 }
             }
         }
     }
 }
 protected function process()
 {
     $this->serie = new serie();
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     if (isset($_POST['codserie'])) {
         $serie = $this->serie->get($_POST['codserie']);
         if (!$serie) {
             $serie = new serie();
             $serie->codserie = $_POST['codserie'];
         }
         $serie->descripcion = $_POST['descripcion'];
         $serie->siniva = isset($_POST['siniva']);
         $serie->irpf = floatval($_POST['irpf']);
         if ($serie->save()) {
             $this->new_message("Serie " . $serie->codserie . " guardada correctamente");
         } else {
             $this->new_error_msg("¡Imposible guardar la serie!");
         }
     } else {
         if (isset($_GET['delete'])) {
             if (!$this->user->admin) {
                 $this->new_error_msg('Sólo un administrador puede eliminar series.');
             } else {
                 $serie = $this->serie->get($_GET['delete']);
                 if ($serie) {
                     if ($serie->delete()) {
                         $this->new_message('Serie eliminada correctamente.');
                     } else {
                         $this->new_error_msg("¡Imposible eliminar la serie!");
                     }
                 } else {
                     $this->new_error_msg("Serie no encontrada.");
                 }
             }
         }
     }
 }
 private function modificar_serie()
 {
     $serie = $this->serie->get($_POST['codserie']);
     if (!$serie) {
         $serie = new serie();
         $serie->codserie = $_POST['codserie'];
     }
     $serie->descripcion = $_POST['descripcion'];
     $serie->siniva = isset($_POST['siniva']);
     $serie->irpf = floatval($_POST['irpf']);
     if ($this->num_personalizada) {
         if ($_POST['codejercicio'] != $serie->codejercicio or $_POST['numfactura'] != $serie->numfactura) {
             if ($this->user->admin) {
                 if ($this->hay_facturas_venta($serie->codserie)) {
                     $this->new_error_msg('Ya hay facturas con esta serie, no puedes cambiar la numeración inicial.');
                 } else {
                     $serie->codejercicio = NULL;
                     $serie->numfactura = 1;
                     if ($_POST['codejercicio'] != '') {
                         $serie->codejercicio = $_POST['codejercicio'];
                         $serie->numfactura = intval($_POST['numfactura']);
                         /// anotamos el cambio en el log
                         $fslog = new fs_log();
                         $fslog->alerta = TRUE;
                         $fslog->detalle = 'Se ha cambiado la numeración inicial de la serie ' . $serie->codserie . ' para el ejercicio ' . $serie->codejercicio . '. Nuevo número inicial: ' . $serie->numfactura;
                         $fslog->ip = $this->user->last_ip;
                         $fslog->usuario = $this->user->nick;
                         $fslog->tipo = 'serie';
                         $fslog->save();
                     }
                 }
             } else {
                 $this->new_error_msg("La numeración de facturas es una cosa delicada," . " solamente un administrador puede hacer cambios.", 'serie', TRUE);
             }
         }
     }
     if ($serie->save()) {
         $this->new_message('Datos guardados correctamente.');
     } else {
         $this->new_error_msg("¡Imposible guardar " . FS_SERIE . "!");
     }
 }