SetTitulo( "{$this->_instituicao} i-Educar - Cliente" ); $this->processoAp = "603"; $this->addEstilo('localizacaoSistema'); } } class indice extends clsCadastro { /** * Referencia pega da session para o idpes do usuario atual * * @var int */ var $pessoa_logada; var $cod_cliente; var $ref_cod_instituicao; var $ref_cod_escola; var $ref_cod_biblioteca; var $ref_cod_biblioteca_atual; var $ref_cod_cliente_tipo; var $ref_usuario_exc; var $ref_usuario_cad; var $ref_idpes; var $login_; var $senha_; var $data_cadastro; var $data_exclusao; var $ativo; var $del_cod_cliente; var $del_cod_cliente_tipo; function Inicializar() { $retorno = "Novo"; @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $this->cod_cliente = $_GET["cod_cliente"]; $this->ref_cod_biblioteca = $_GET["ref_cod_biblioteca"]; $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra( 603, $this->pessoa_logada, 11, "educar_cliente_lst.php" ); if( is_numeric( $this->cod_cliente ) && is_numeric($this->ref_cod_biblioteca) ) { $obj = new clsPmieducarCliente( $this->cod_cliente ); $registro = $obj->detalhe(); if( $registro ) { foreach( $registro AS $campo => $val ) // passa todos os valores obtidos no registro para atributos do objeto $this->$campo = $val; $this->data_cadastro = dataFromPgToBr( $this->data_cadastro ); $this->data_exclusao = dataFromPgToBr( $this->data_exclusao ); $this->login_ = $this->login; $this->senha_ = $this->senha; $obj_permissoes = new clsPermissoes(); if( $obj_permissoes->permissao_excluir( 603, $this->pessoa_logada, 11 ) ) { $this->fexcluir = true; } $retorno = "Editar"; } } $this->url_cancelar = ($retorno == "Editar") ? "educar_cliente_det.php?cod_cliente={$registro["cod_cliente"]}&ref_cod_biblioteca={$this->ref_cod_biblioteca}" : "educar_cliente_lst.php"; $this->nome_url_cancelar = "Cancelar"; $nomeMenu = $retorno == "Editar" ? $retorno : "Cadastrar"; $localizacao = new LocalizacaoSistema(); $localizacao->entradaCaminhos( array( $_SERVER['SERVER_NAME']."/intranet" => "Início", "educar_biblioteca_index.php" => "Módulo Biblioteca", "" => "{$nomeMenu} cliente" )); $this->enviaLocalizacao($localizacao->montar()); return $retorno; } function Gerar() { // primary keys $this->campoOculto( "cod_cliente", $this->cod_cliente ); $this->campoOculto("requisita_senha", "0"); $opcoes = array( "" => "Pesquise a pessoa clicando na lupa ao lado" ); if( $this->ref_idpes ) { $objTemp = new clsPessoaFisica( $this->ref_idpes ); $detalhe = $objTemp->detalhe(); $opcoes["{$detalhe["idpes"]}"] = $detalhe["nome"]; } // Caso o cliente não exista, exibe um campo de pesquisa, senão, mostra um rótulo if (!$this->cod_cliente) { $parametros = new clsParametrosPesquisas(); $parametros->setSubmit(0); $parametros->adicionaCampoSelect('ref_idpes', 'idpes', 'nome'); $parametros->setPessoa('F'); $parametros->setPessoaCPF('N'); $parametros->setCodSistema(null); $parametros->setPessoaNovo('S'); $parametros->setPessoaTela('frame'); $this->campoListaPesq('ref_idpes', 'Cliente', $opcoes, $this->ref_idpes, 'pesquisa_pessoa_lst.php', '', FALSE, '', '', NULL, NULL, '', FALSE, $parametros->serializaCampos()); } else { $this->campoOculto('ref_idpes', $this->ref_idpes); $this->campoRotulo('nm_cliente', 'Cliente', $detalhe['nome']); } // text $this->campoNumero( "login", "Login", $this->login_, 9, 9, false ); $this->campoSenha( "senha", "Senha", $this->senha_, false ); if($this->cod_cliente && $this->ref_cod_biblioteca) { $db = new clsBanco(); // Cria campo oculto com o ID da biblioteca atual ao qual usuário está cadastrado $this->ref_cod_biblioteca_atual = $this->ref_cod_biblioteca; $this->campoOculto("ref_cod_biblioteca_atual", $this->ref_cod_biblioteca_atual); //$this->ref_cod_biblioteca = $db->CampoUnico("SELECT cod_biblioteca FROM pmieducar.biblioteca, pmieducar.cliente_tipo_cliente ctc, pmieducar.cliente_tipo ct WHERE ref_cod_cliente = '$this->cod_cliente' AND ref_cod_cliente_tipo = cod_cliente_tipo AND ct.ref_cod_biblioteca = cod_biblioteca AND ctc.ref_cod_biblioteca = {$this->ref_cod_biblioteca}"); // obtem o codigo do tipo de cliente, apartir da tabela cliente_tipo_cliente $this->ref_cod_cliente_tipo = $db->CampoUnico("SELECT ref_cod_cliente_tipo FROM pmieducar.cliente_tipo_cliente WHERE ref_cod_cliente = '$this->cod_cliente'"); } $this->inputsHelper()->dynamic(array('instituicao', 'escola', 'biblioteca', 'bibliotecaTipoCliente')); } /** * Sobrescrita do método clsCadastro::Novo. * * Insere novo registro nas tabelas pmieducar.cliente e pmieducar.cliente_tipo_cliente. */ public function Novo() { session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $senha = md5($this->senha . 'asnk@#*&(23'); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(603, $this->pessoa_logada, 11, 'educar_cliente_lst.php'); $obj = new clsPmieducarCliente(NULL, NULL, NULL, $this->ref_idpes); $detalhe = $obj->detalhe(); if (!$detalhe) { $obj_cliente = new clsPmieducarCliente(); $lst_cliente = $obj_cliente->lista(NULL, NULL, NULL, NULL, $this->login); if ($lst_cliente && $this->login != '') { $this->mensagem = "Este login já está sendo utilizado por outra pessoa!
"; } else { $obj = new clsPmieducarCliente($this->cod_cliente, NULL, $this->pessoa_logada, $this->ref_idpes, $this->login, $senha, $this->data_cadastro, $this->data_exclusao, 1); $cadastrou = $obj->cadastra(); if ($cadastrou) { $this->cod_cliente = $cadastrou; $obj_cliente_tipo = new clsPmieducarClienteTipoCliente($this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, $this->pessoa_logada, 1); if ($obj_cliente_tipo->existeCliente()) { if ($obj_cliente_tipo->trocaTipo()) { $this->mensagem .= 'Cadastro efetuado com sucesso.
'; header('Location: educar_definir_cliente_tipo_lst.php'); die(); } } else { $obj_cliente_tipo = new clsPmieducarClienteTipoCliente($this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, NULL, 1, $this->ref_cod_biblioteca); if ($obj_cliente_tipo->cadastra()) { $this->mensagem .= 'Cadastro efetuado com sucesso.
'; header('Location: educar_cliente_lst.php'); die(); } } } $this->mensagem = "Cadastro não realizado.
"; return FALSE; } } else { $obj = new clsPmieducarCliente(NULL, NULL, NULL, $this->ref_idpes); $registro = $obj->detalhe(); if ($registro) { $this->cod_cliente = $registro['cod_cliente']; } $this->ativo = 1; $sql = "SELECT COUNT(0) FROM pmieducar.cliente_tipo_cliente WHERE ref_cod_cliente = {$this->cod_cliente} AND ref_cod_biblioteca = {$this->ref_cod_biblioteca} AND ativo = 1"; $db = new clsBanco(); $possui_biblio = $db->CampoUnico($sql); if ($possui_biblio == 0) { $obj_cliente_tipo_cliente = new clsPmieducarClienteTipoCliente($this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, NULL, NULL, $this->ref_cod_biblioteca); if (!$obj_cliente_tipo_cliente->cadastra()) { $this->mensagem = "Não cadastrou"; return FALSE; } else { header('Location: educar_cliente_lst.php'); return TRUE; die(); } } else { $this->mensagem = "O cliente já está cadastrado!
"; } } } /** * Sobrescrita do método clsCadastro::Editar. * * Verifica: * - Se usuário tem permissão de edição * - Se usuário existe na biblioteca atual * - Se existir, troca pela biblioteca escolhida na interface * - Senão, cadastra como cliente da biblioteca */ public function Editar() { session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $senha = md5($this->senha . 'asnk@#*&(23'); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(603, $this->pessoa_logada, 11, 'educar_cliente_lst.php'); $obj = new clsPmieducarCliente($this->cod_cliente, $this->pessoa_logada, $this->pessoa_logada, $this->ref_idpes, $this->login, $senha, $this->data_cadastro, $this->data_exclusao, $this->ativo); $editou = $obj->edita(); if ($editou) { // Cria objeto clsPemieducarClienteTipoCliente configurando atributos usados nas queries $obj_cliente_tipo = new clsPmieducarClienteTipoCliente( $this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, $this->pessoa_logada, 1, $this->ref_cod_biblioteca); // clsPmieducarClienteTipoCliente::trocaTipoBiblioteca recebe o valor antigo para usar // na cláusula WHERE if ($obj_cliente_tipo->existeClienteBiblioteca($_POST['ref_cod_biblioteca_atual'])) { if ($obj_cliente_tipo->trocaTipoBiblioteca($_POST['ref_cod_biblioteca_atual'])) { $this->mensagem .= 'Cadastro efetuado com sucesso.
'; header('Location: educar_cliente_lst.php'); die(); } } else { $obj_cliente_tipo = new clsPmieducarClienteTipoCliente( $this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, NULL, 1, $this->ref_cod_biblioteca); if ($obj_cliente_tipo->cadastra()) { $this->mensagem .= 'Edição efetuada com sucesso.
'; header('Location: educar_cliente_lst.php'); die(); } } } $this->mensagem = 'Edição não realizada.
'; die(); } function Excluir() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_excluir( 603, $this->pessoa_logada, 11, "educar_cliente_lst.php" ); $obj = new clsPmieducarCliente( $this->cod_cliente, $this->pessoa_logada, null, $this->ref_idpes, null, null, null, null, 0 ); $excluiu = $obj->excluir(); if( $excluiu ) { $this->mensagem .= "Exclusão efetuada com sucesso.
"; header( "Location: educar_cliente_lst.php" ); die(); return true; } $this->mensagem = "Exclusão não realizada.
"; echo ""; return false; } } // cria uma extensao da classe base $pagina = new clsIndexBase(); // cria o conteudo $miolo = new indice(); // adiciona o conteudo na clsBase $pagina->addForm( $miolo ); // gera o html $pagina->MakeAll(); ?>