protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $this->share_extensions(); $familia = new familia(); $this->tarifa = new tarifa(); $this->tarifa_s = FALSE; if (isset($_GET['importar'])) { $this->importar_tarifas(); } else { if (isset($_POST['codtarifa'])) { if ($_POST['codtarifa'] == '') { /// Nueva tarifa de familia $tar0 = new tarifa(); $tar0->codtarifa = $tar0->get_new_codigo(); } else { $tar0 = $this->tarifa->get($_POST['codtarifa']); if (!$tar0) { $tar0 = new tarifa(); $tar0->codtarifa = $_POST['codtarifa']; } } if (isset($_POST['madre'])) { $tar0->madre = $_POST['madre']; $tar0->codfamilia = $_POST['codfamilia']; $tar0->nombre = 'Familia ?'; $fam = $familia->get($_POST['codfamilia']); if ($fam) { $tar0->nombre = $fam->descripcion; } } else { if (isset($_POST['nombre'])) { $tar0->nombre = $_POST['nombre']; } } $tar0->margen = $_POST['aplicar_a'] == 'coste'; $tar0->set_x(floatval($_POST['dtopor'])); $tar0->set_y(floatval($_POST['inclineal'])); $tar0->mincoste = isset($_POST['mincoste']); $tar0->maxpvp = isset($_POST['maxpvp']); if ($tar0->save()) { $this->new_message("Tarifa guardada correctamente."); } else { $this->new_error_msg("¡Imposible guardar la tarifa!"); } } else { if (isset($_GET['delete_tarifa'])) { $tar0 = $this->tarifa->get($_GET['delete_tarifa']); if ($tar0) { if ($tar0->delete()) { $this->new_message("Tarifa borrada correctamente."); } else { $this->new_error_msg("¡Imposible borrar la tarifa!"); } } else { $this->new_error_msg("¡La tarifa no existe!"); } } } } if (isset($_REQUEST['cod'])) { $this->tarifa_s = $this->tarifa->get($_REQUEST['cod']); } if ($this->tarifa_s) { $this->template = 'ventas_tarifa'; $this->tarifas_familias = $this->tarifa->all_from_tarifa($this->tarifa_s->codtarifa); $this->familias_no = array(); foreach ($familia->all() as $fam) { $encontrada = FALSE; foreach ($this->tarifas_familias as $tar) { if ($tar->codfamilia == $fam->codfamilia) { $encontrada = TRUE; break; } } if (!$encontrada) { $this->familias_no[] = $fam; } } } }