public function array_save($cod, $values) { $done = TRUE; foreach ($values as $key => $value) { $aux = new \cliente_propiedad(); $aux->name = $key; $aux->codcliente = $cod; $aux->text = $value; if (!$aux->save()) { $done = FALSE; break; } } return $done; }
protected function private_core() { $this->cliente = new cliente(); $this->grupo = new grupo_clientes(); $this->pais = new pais(); $this->serie = new serie(); $this->tarifa = new tarifa(); /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); if (isset($_REQUEST['buscar_provincia'])) { $this->buscar_provincia(); } else { if (isset($_REQUEST['buscar_ciudad'])) { $this->buscar_ciudad(); } else { if (isset($_GET['delete_grupo'])) { $grupo = $this->grupo->get($_GET['delete_grupo']); if ($grupo) { if ($grupo->delete()) { $this->new_message('Grupo eliminado correctamente.'); } else { $this->new_error_msg('Imposible eliminar el grupo.'); } } else { $this->new_error_msg('Grupo no encontrado.'); } } else { if (isset($_POST['codgrupo'])) { $grupo = $this->grupo->get($_POST['codgrupo']); if (!$grupo) { $grupo = new grupo_clientes(); $grupo->codgrupo = $_POST['codgrupo']; } $grupo->nombre = $_POST['nombre']; if ($_POST['codtarifa'] == '---') { $grupo->codtarifa = NULL; } else { $grupo->codtarifa = $_POST['codtarifa']; } if ($grupo->save()) { $this->new_message('Grupo guardado correctamente.'); } else { $this->new_error_msg('Imposible guardar el grupo.'); } } else { if (isset($_GET['delete'])) { $cliente = $this->cliente->get($_GET['delete']); if ($cliente) { if (FS_DEMO) { $this->new_error_msg('En el modo demo no se pueden eliminar clientes. Otros usuarios podrían necesitarlos.'); } else { if ($cliente->delete()) { $this->new_message('Cliente eliminado correctamente.'); } else { $this->new_error_msg('Ha sido imposible eliminar el cliente.'); } } } else { $this->new_error_msg('Cliente no encontrado.'); } } else { if (isset($_POST['cifnif'])) { $this->save_codpais($_POST['pais']); $cliente = new cliente(); $cliente->codcliente = $cliente->get_new_codigo(); if (isset($_POST['cli_codgrupo'])) { $cliente->codgrupo = $_POST['cli_codgrupo']; } if ($_POST['razonsocial'] != '') { $cliente->nombre = $cliente->razonsocial = $_POST['razonsocial']; } else { $cliente->nombre = $cliente->razonsocial = $_POST['nombre'] . ' ' . $_POST['nombre2'] . ' ' . $_POST['apellido'] . ' ' . $_POST['apellido2']; } $cliente->cifnif = $_POST['cifnif']; $cliente->codserie = $this->empresa->codserie; if ($cliente->save()) { $cliente_prop = new cliente_propiedad(); $cliente_prop->array_save($cliente->codcliente, array('nombre' => $_POST['nombre'], 'nombre2' => $_POST['nombre2'], 'apellido' => $_POST['apellido'], 'apellido2' => $_POST['apellido2'])); $dircliente = new direccion_cliente(); $dircliente->codcliente = $cliente->codcliente; $dircliente->codpais = $_POST['pais']; $dircliente->provincia = $_POST['provincia']; $dircliente->ciudad = $_POST['ciudad']; $dircliente->codpostal = $_POST['codpostal']; $dircliente->direccion = $_POST['direccion']; $dircliente->descripcion = 'Principal'; if ($dircliente->save()) { header('location: ' . $cliente->url()); } else { $this->new_error_msg("¡Imposible guardar la dirección del cliente!"); } } else { $this->new_error_msg("¡Imposible guardar los datos del cliente!"); } } } } } } } $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if ($this->query != '') { $this->resultados = $this->cliente->search($this->query, $this->offset); } else { $this->resultados = $this->cliente->all($this->offset); } $this->grupos = $this->grupo->all(); }