Commit 90a5a63a89ece8a11348607cc42e145b90f567f5

Authored by Caroline Salib
1 parent 90cbc8dc
Exists in master

Refatoração na sessão de endereçamento no cadastro de pessoa física;

Portabilis/ieducar#151
ieducar/intranet/atendidos_cad.php
@@ -110,6 +110,9 @@ class indice extends clsCadastro @@ -110,6 +110,9 @@ class indice extends clsCadastro
110 var $cor_raca; 110 var $cor_raca;
111 var $sus; 111 var $sus;
112 var $nis_pis_pasep; 112 var $nis_pis_pasep;
  113 + var $municipio_id;
  114 + var $bairro_id;
  115 + var $logradouro_id;
113 116
114 var $caminho_det; 117 var $caminho_det;
115 var $caminho_lst; 118 var $caminho_lst;
@@ -642,7 +645,45 @@ class indice extends clsCadastro @@ -642,7 +645,45 @@ class indice extends clsCadastro
642 645
643 646
644 // Detalhes do Endereço 647 // Detalhes do Endereço
  648 + if ($this->idlog){
645 649
  650 + $objLogradouro = new clsLogradouro($this->idlog);
  651 + $detalheLogradouro = $objLogradouro->detalhe();
  652 + if ($detalheLogradouro)
  653 + $this->municipio_id = $detalheLogradouro['idmun'];
  654 +
  655 + // Caso seja um endereço externo, tentamos então recuperar a cidade pelo cep
  656 + }elseif($this->cep){
  657 +
  658 + $numCep = idFederal2int($this->cep);
  659 +
  660 + $sql = "SELECT idmun, count(idmun) as count_mun FROM public.logradouro l, urbano.cep_logradouro cl
  661 + WHERE cl.idlog = l.idlog AND cl.cep = '{$numCep}' group by idmun order by count_mun desc limit 1";
  662 +
  663 + $options = array('return_only' => 'first-field');
  664 + $result = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options);
  665 +
  666 + if ($result)
  667 + $this->municipio_id = $result;
  668 +
  669 + }
  670 + if ($this->cod_pessoa_fj){
  671 +
  672 + $objPE = new clsPessoaEndereco($this->cod_pessoa_fj);
  673 + $det = $objPE->detalhe();
  674 +
  675 + if($det){
  676 +
  677 + $this->bairro_id = $det['idbai'];
  678 + $this->logradouro_id = $det['idlog'];
  679 + }
  680 + }
  681 +
  682 + if (!($this->bairro_id && $this->municipio_id && $this->logradouro_id)){
  683 + $this->bairro_id = null;
  684 + $this->municipio_id = null;
  685 + $this->logradouro_id = null;
  686 + }
646 $this->campoOculto('idbai', $this->idbai); 687 $this->campoOculto('idbai', $this->idbai);
647 $this->campoOculto('idlog', $this->idlog); 688 $this->campoOculto('idlog', $this->idlog);
648 $this->campoOculto('cep', $this->cep); 689 $this->campoOculto('cep', $this->cep);
@@ -651,14 +692,13 @@ class indice extends clsCadastro @@ -651,14 +692,13 @@ class indice extends clsCadastro
651 $this->campoOculto('id_cidade', $this->cidade); 692 $this->campoOculto('id_cidade', $this->cidade);
652 693
653 694
654 - // o endereçamento é opcional ao cadastrar pai ou mãe.  
655 - $enderecamentoObrigatorio = empty($parentType); 695 + // o endereçamento é opcional
  696 + $enderecamentoObrigatorio = false;
656 697
  698 + // Caso o cep já esteja definido, os campos já vem desbloqueados inicialmente
  699 + $desativarCamposDefinidosViaCep = empty($this->cep);
657 700
658 - // considera como endereço localizado por CEP quando alguma das variaveis de instancia  
659 - // idbai (bairro) ou idlog (logradouro) estão definidas, neste caso desabilita a edição  
660 - // dos campos definidos via CEP.  
661 - $desativarCamposDefinidosViaCep = ((bool)$GLOBALS['coreExt']['Config']->app->obriga_endereco_normalizado_pf) || ($this->idbai || $this->idlog); 701 + $this->campoRotulo('','<b>Enderaçamento</b>', '<i>Digite um cep ou clique na lupa para busca avançada</i>');
662 702
663 $this->campoCep( 703 $this->campoCep(
664 'cep_', 704 'cep_',
@@ -666,46 +706,25 @@ class indice extends clsCadastro @@ -666,46 +706,25 @@ class indice extends clsCadastro
666 $this->cep, 706 $this->cep,
667 $enderecamentoObrigatorio, 707 $enderecamentoObrigatorio,
668 '-', 708 '-',
669 - "&nbsp;<img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel(500, 550, '<iframe name=\'miolo\' id=\'miolo\' frameborder=\'0\' height=\'100%\' width=\'500\' marginheight=\'0\' marginwidth=\'0\' src=\'educar_pesquisa_cep_log_bairro.php?campo1=bairro&campo2=idbai&campo3=cep&campo4=logradouro&campo5=idlog&campo6=ref_sigla_uf&campo7=cidade&campo8=ref_idtlog&campo9=isEnderecoExterno&campo10=cep_&campo11=sigla_uf&campo12=idtlog&campo13=id_cidade&campo14=zona_localizacao\'></iframe>');\">",  
670 - $desativarCamposDefinidosViaCep 709 + "&nbsp;<img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel(500, 550, '<iframe name=\'miolo\' id=\'miolo\' frameborder=\'0\' height=\'100%\' width=\'500\' marginheight=\'0\' marginwidth=\'0\' src=\'educar_pesquisa_cep_log_bairro.php?campo1=bairro&campo2=idbai&campo3=cep&campo4=logradouro&campo5=idlog&campo6=ref_sigla_uf&campo7=cidade&campo8=ref_idtlog&campo9=isEnderecoExterno&campo10=cep_&campo11=municipio_municipio&campo12=idtlog&campo13=municipio_id&campo14=zona_localizacao\'></iframe>');\">",
  710 + false
671 ); 711 );
672 712
  713 + $options = array('label' => Portabilis_String_Utils::toLatin1('Município'), 'required' => $enderecamentoObrigatorio, 'disabled' => $desativarCamposDefinidosViaCep);
673 714
674 - // estado 715 + $helperOptions = array('objectName' => 'municipio',
  716 + 'hiddenInputOptions' => array('options' => array('value' => $this->municipio_id)));
675 717
676 - $options = array(  
677 - 'label' => 'Estado / Cidade',  
678 - 'value' => $this->sigla_uf,  
679 - 'disabled' => $desativarCamposDefinidosViaCep,  
680 - 'inline' => true,  
681 - 'required' => $enderecamentoObrigatorio  
682 - );  
683 -  
684 - $helperOptions = array(  
685 - 'attrName' => 'sigla_uf'  
686 - );  
687 -  
688 - $this->inputsHelper()->uf($options, $helperOptions);  
689 -  
690 -  
691 - // cidade  
692 -  
693 - $options = array(  
694 - 'label' => '',  
695 - 'placeholder' => 'Cidade',  
696 - 'value' => $this->cidade,  
697 - 'max_length' => 60,  
698 - 'disabled' => $desativarCamposDefinidosViaCep,  
699 - 'required' => $enderecamentoObrigatorio  
700 - ); 718 + $this->inputsHelper()->simpleSearchMunicipio('municipio', $options, $helperOptions);
701 719
702 - $this->inputsHelper()->text('cidade', $options); 720 + $helperOptions = array('hiddenInputOptions' => array('options' => array('value' => $this->bairro_id)));
703 721
  722 + $options = array( 'label' => Portabilis_String_Utils::toLatin1('Bairro / Zona de Localização - Buscar'), 'required' => $enderecamentoObrigatorio, 'disabled' => $desativarCamposDefinidosViaCep);
704 723
705 - // bairro 724 + $this->inputsHelper()->simpleSearchBairro('bairro', $options, $helperOptions);
706 725
707 $options = array( 726 $options = array(
708 - 'label' => 'Bairro / Zona localização', 727 + 'label' => 'Bairro / Zona de Localização - Cadastrar',
709 'placeholder' => 'Bairro', 728 'placeholder' => 'Bairro',
710 'value' => $this->bairro, 729 'value' => $this->bairro,
711 'max_length' => 40, 730 'max_length' => 40,
@@ -725,7 +744,7 @@ class indice extends clsCadastro @@ -725,7 +744,7 @@ class indice extends clsCadastro
725 744
726 $options = array( 745 $options = array(
727 'label' => '', 746 'label' => '',
728 - 'placeholder' => 'Zona localização', 747 + 'placeholder' => 'Zona localização ',
729 'value' => $this->zona_localizacao, 748 'value' => $this->zona_localizacao,
730 'disabled' => $desativarCamposDefinidosViaCep, 749 'disabled' => $desativarCamposDefinidosViaCep,
731 'resources' => $zonas, 750 'resources' => $zonas,
@@ -734,11 +753,16 @@ class indice extends clsCadastro @@ -734,11 +753,16 @@ class indice extends clsCadastro
734 753
735 $this->inputsHelper()->select('zona_localizacao', $options); 754 $this->inputsHelper()->select('zona_localizacao', $options);
736 755
  756 + $helperOptions = array('hiddenInputOptions' => array('options' => array('value' => $this->logradouro_id)));
  757 +
  758 + $options = array('label' => 'Tipo / Logradouro - Buscar', 'required' => $enderecamentoObrigatorio, 'disabled' => $desativarCamposDefinidosViaCep);
  759 +
  760 + $this->inputsHelper()->simpleSearchLogradouro('logradouro', $options, $helperOptions);
737 761
738 // tipo logradouro 762 // tipo logradouro
739 763
740 $options = array( 764 $options = array(
741 - 'label' => 'Tipo / Logradouro', 765 + 'label' => 'Tipo / Logradouro - Cadastrar',
742 'value' => $this->idtlog, 766 'value' => $this->idtlog,
743 'disabled' => $desativarCamposDefinidosViaCep, 767 'disabled' => $desativarCamposDefinidosViaCep,
744 'inline' => true, 768 'inline' => true,
@@ -1183,11 +1207,29 @@ class indice extends clsCadastro @@ -1183,11 +1207,29 @@ class indice extends clsCadastro
1183 } 1207 }
1184 1208
1185 protected function _createOrUpdatePessoaEndereco($pessoaId) { 1209 protected function _createOrUpdatePessoaEndereco($pessoaId) {
  1210 +
  1211 + $cep = idFederal2Int($this->cep_);
  1212 +
  1213 + $objCepLogradouro = new ClsCepLogradouro($cep, $this->logradouro_id);
  1214 +
  1215 + if (! $objCepLogradouro->existe())
  1216 + $objCepLogradouro->cadastra();
  1217 +
  1218 + $objCepLogradouroBairro = new ClsCepLogradouroBairro();
  1219 + $objCepLogradouroBairro->cep = $cep;
  1220 + $objCepLogradouroBairro->idbai = $this->bairro_id;
  1221 + $objCepLogradouroBairro->idlog = $this->logradouro_id;
  1222 +
  1223 +
  1224 + if (! $objCepLogradouroBairro->existe())
  1225 + $objCepLogradouroBairro->cadastra();
  1226 +
  1227 + #die("Morram <br> $cep <br> {$this->bairro_id} <br> {$this->logradouro_id}");
1186 $endereco = new clsPessoaEndereco( 1228 $endereco = new clsPessoaEndereco(
1187 $pessoaId, 1229 $pessoaId,
1188 - idFederal2Int($this->cep),  
1189 - $this->idlog,  
1190 - $this->idbai, 1230 + $cep,
  1231 + $this->logradouro_id,
  1232 + $this->bairro_id,
1191 $this->numero, 1233 $this->numero,
1192 addslashes($this->complemento), 1234 addslashes($this->complemento),
1193 FALSE, 1235 FALSE,
@@ -1232,13 +1274,53 @@ class indice extends clsCadastro @@ -1232,13 +1274,53 @@ class indice extends clsCadastro
1232 } 1274 }
1233 1275
1234 protected function createOrUpdateEndereco($pessoaId) { 1276 protected function createOrUpdateEndereco($pessoaId) {
1235 - $enderecoExterno = ! empty($this->cep_);  
1236 1277
1237 - if (! $enderecoExterno && $this->cep && $this->idbai && $this->idlog) 1278 + if ($this->cep_ && is_numeric($this->bairro_id) && is_numeric($this->logradouro_id))
  1279 + $this->_createOrUpdatePessoaEndereco($pessoaId);
  1280 + else if($this->cep_ && is_numeric($this->municipio_id)){
  1281 +
  1282 + if (!is_numeric($this->bairro_id)){
  1283 + if ($this->canCreateBairro())
  1284 + $this->bairro_id = $this->createBairro();
  1285 + else
  1286 + return;
  1287 + }
  1288 +
  1289 + if (!is_numeric($this->logradouro_id)){
  1290 + if($this->canCreateLogradouro())
  1291 + $this->logradouro_id = $this->createLogradouro();
  1292 + else
  1293 + return;
  1294 + }
  1295 +
1238 $this->_createOrUpdatePessoaEndereco($pessoaId); 1296 $this->_createOrUpdatePessoaEndereco($pessoaId);
1239 1297
1240 - elseif($enderecoExterno)  
1241 - $this->_createOrUpdateEnderecoExterno($pessoaId); 1298 + }else{
  1299 + $endereco = new clsPessoaEndereco($pessoaId);
  1300 + $endereco->exclui();
  1301 + }
  1302 +
  1303 + }
  1304 +
  1305 + protected function canCreateBairro(){
  1306 + return !empty($this->bairro) && !empty($this->zona_localizacao);
  1307 + }
  1308 +
  1309 + protected function canCreateLogradouro(){
  1310 + return !empty($this->logradouro) && !empty($this->idtlog);
  1311 + }
  1312 +
  1313 + protected function createBairro(){
  1314 + $objBairro = new clsBairro(null,$this->municipio_id,null,addslashes($this->bairro), $this->currentUserId());
  1315 + $objBairro->zona_localizacao = $this->zona_localizacao;
  1316 +
  1317 + return $objBairro->cadastra();
  1318 + }
  1319 +
  1320 + protected function createLogradouro(){
  1321 + $objLogradouro = new clsLogradouro(null,$this->idtlog, $this->logradouro, $this->municipio_id,
  1322 + null, 'S', $this->currentUserId());
  1323 + return $objLogradouro->cadastra();
1242 } 1324 }
1243 1325
1244 protected function createOrUpdateTelefones($pessoaId) { 1326 protected function createOrUpdateTelefones($pessoaId) {
ieducar/intranet/educar_pesquisa_cep_log_bairro.php
@@ -131,7 +131,7 @@ class miolo1 extends clsListagem @@ -131,7 +131,7 @@ class miolo1 extends clsListagem
131 // consulta dados 131 // consulta dados
132 132
133 $pre_select = ' SELECT 133 $pre_select = ' SELECT
134 - c.idlog, c.cep, c.idbai, u.sigla_uf, m.nome, t.idtlog, m.idmun, b.zona_localizacao '; 134 + c.idlog, c.cep, c.idbai, u.sigla_uf, m.nome, t.idtlog, m.idmun, b.zona_localizacao, t.descricao ';
135 135
136 $select = ' 136 $select = '
137 FROM 137 FROM
@@ -176,7 +176,7 @@ class miolo1 extends clsListagem @@ -176,7 +176,7 @@ class miolo1 extends clsListagem
176 $result = Portabilis_Utils_Database::fetchPreparedQuery($pre_select.$select, array('params' => array_values($params))); 176 $result = Portabilis_Utils_Database::fetchPreparedQuery($pre_select.$select, array('params' => array_values($params)));
177 177
178 foreach ($result as $record) { 178 foreach ($result as $record) {
179 - list($idlog, $cep, $idbai, $uf, $cidade, $tipoLogradouroId, $id_mun, $zona) = $record; 179 + list($idlog, $cep, $idbai, $uf, $cidade, $tipoLogradouroId, $id_mun, $zona, $descricao) = $record;
180 180
181 $cidade = addslashes($cidade); 181 $cidade = addslashes($cidade);
182 182
@@ -193,15 +193,15 @@ class miolo1 extends clsListagem @@ -193,15 +193,15 @@ class miolo1 extends clsListagem
193 193
194 $url = sprintf( 194 $url = sprintf(
195 '<a href="javascript:void(0);" onclick="cv_set_campo(\'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\');">%%s</a>', 195 '<a href="javascript:void(0);" onclick="cv_set_campo(\'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\');">%%s</a>',
196 - $_SESSION['campo1'], $bairro, $_SESSION['campo2'], 196 + $_SESSION['campo1'], $bairro.' / Zona'.$zona, $_SESSION['campo2'],
197 $idbai, $_SESSION['campo3'], $cep, 197 $idbai, $_SESSION['campo3'], $cep,
198 - $_SESSION['campo4'], $logradouro, 198 + $_SESSION['campo4'], $descricao." ".$logradouro,
199 $_SESSION['campo5'], $idlog, 199 $_SESSION['campo5'], $idlog,
200 - $_SESSION['campo6'], $uf, $_SESSION['campo7'], $cidade,  
201 - $_SESSION['campo8'], $tipoLogradouroId, $_SESSION['campo9'], $s_end,  
202 - $_SESSION['campo10'], $cep2, $_SESSION['campo11'], $uf, 200 + '', '', '', '',
  201 + '', '', '', '',
  202 + $_SESSION['campo10'], $cep2, $_SESSION['campo11'], $id_mun.' - '.$cidade.' ('.$uf.')',
203 $_SESSION['campo12'], $_SESSION['campo13'], $id_mun, 203 $_SESSION['campo12'], $_SESSION['campo13'], $id_mun,
204 - $_SESSION['campo14'], $zona 204 + '', ''
205 ); 205 );
206 206
207 $this->addLinhas(array( 207 $this->addLinhas(array(
@@ -407,4 +407,20 @@ function liberaCamposOuvidoria() @@ -407,4 +407,20 @@ function liberaCamposOuvidoria()
407 407
408 window.parent.fechaExpansivel('div_dinamico_' + (parent.DOM_divs.length * 1 - 1)); 408 window.parent.fechaExpansivel('div_dinamico_' + (parent.DOM_divs.length * 1 - 1));
409 } 409 }
  410 +
  411 +function liberaCampos(){
  412 +
  413 + parent.document.getElementById('municipio_municipio').disabled = false;
  414 + parent.document.getElementById('bairro_bairro').disabled = false;
  415 + parent.document.getElementById('logradouro_logradouro').disabled = false;
  416 + parent.document.getElementById('logradouro').disabled = false;
  417 + parent.document.getElementById('bairro').disabled = false;
  418 + parent.document.getElementById('idtlog').disabled = false;
  419 + parent.document.getElementById('zona_localizacao').disabled = false;
  420 + parent.document.getElementById('logradouro').value = '';
  421 + parent.document.getElementById('bairro').value = '';
  422 + parent.document.getElementById('idtlog').value = '';
  423 + parent.document.getElementById('zona_localizacao').value = '';
  424 +
  425 +}
410 </script> 426 </script>
411 \ No newline at end of file 427 \ No newline at end of file
ieducar/intranet/include/pessoa/clsBairro.inc.php
@@ -41,6 +41,7 @@ class clsBairro @@ -41,6 +41,7 @@ class clsBairro
41 var $operacao; 41 var $operacao;
42 var $idsis_cad; 42 var $idsis_cad;
43 var $idsis_rev; 43 var $idsis_rev;
  44 + var $zona_localizacao;
44 45
45 var $tabela; 46 var $tabela;
46 var $schema = "public"; 47 var $schema = "public";
@@ -50,7 +51,7 @@ class clsBairro @@ -50,7 +51,7 @@ class clsBairro
50 * 51 *
51 * @return Object:clsBairro 52 * @return Object:clsBairro
52 */ 53 */
53 - function clsBairro( $int_idbai = false, $int_idmun=false, $str_geom=false, $str_nome=false , $int_idpes_cad = false, $int_idpes_rev = false, $str_origem_gravacao = false, $str_operacao=false, $int_idsis_cad=false, $int_idsis_rev=false ) 54 + function clsBairro( $int_idbai = false, $int_idmun=false, $str_geom=false, $str_nome=false , $int_idpes_cad = false, $int_idpes_rev = false, $str_origem_gravacao = false, $str_operacao=false, $int_idsis_cad=false, $int_idsis_rev=false, $zona_localizacao = null )
54 { 55 {
55 $this->idbai = $int_idbai; 56 $this->idbai = $int_idbai;
56 57
@@ -70,6 +71,7 @@ class clsBairro @@ -70,6 +71,7 @@ class clsBairro
70 $this->idsis_rev = $int_idsis_rev; 71 $this->idsis_rev = $int_idsis_rev;
71 $this->operacao = $str_operacao; 72 $this->operacao = $str_operacao;
72 $this->origem_gravacao = $str_origem_gravacao; 73 $this->origem_gravacao = $str_origem_gravacao;
  74 + $this->zona_localizacao = $zona_localizacao;
73 75
74 $this->tabela = "bairro"; 76 $this->tabela = "bairro";
75 } 77 }
@@ -113,9 +115,14 @@ class clsBairro @@ -113,9 +115,14 @@ class clsBairro
113 $campos .= ", origem_gravacao"; 115 $campos .= ", origem_gravacao";
114 $values .= ", '{$this->origem_gravacao}'"; 116 $values .= ", '{$this->origem_gravacao}'";
115 } 117 }
116 - $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} ( idmun, nome, data_cad$campos ) VALUES ( '{$this->idmun}', '{$this->nome}', NOW()$values )" ); 118 + if( is_numeric( $this->zona_localizacao) )
  119 + {
  120 + $campos .= ", zona_localizacao";
  121 + $values .= ", '{$this->zona_localizacao}' ";
  122 + }
  123 + $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} ( idmun, origem_gravacao, operacao, idsis_cad, nome, data_cad$campos ) VALUES ( '{$this->idmun}', 'U', 'I', '9', '{$this->nome}', NOW()$values )" );
117 124
118 - return true; 125 + return $db->InsertId("{$this->schema}.seq_bairro");
119 } 126 }
120 return false; 127 return false;
121 } 128 }
ieducar/intranet/include/pessoa/clsCepLogradouro.inc.php
@@ -82,7 +82,7 @@ class clsCepLogradouro @@ -82,7 +82,7 @@ class clsCepLogradouro
82 $valores .= ", '$this->nrofin' "; 82 $valores .= ", '$this->nrofin' ";
83 } 83 }
84 84
85 - $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} (cep, idlog $campos) VALUES ( '{$this->cep}', '{$this->idlog}' $values )" ); 85 + $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} (cep, idlog, origem_gravacao, data_cad, operacao, idsis_Cad $campos) VALUES ( '{$this->cep}', '{$this->idlog}','U', NOW(), 'I', '9' $values )" );
86 86
87 } 87 }
88 return false; 88 return false;
@@ -130,7 +130,23 @@ class clsCepLogradouro @@ -130,7 +130,23 @@ class clsCepLogradouro
130 } 130 }
131 return false; 131 return false;
132 } 132 }
133 - 133 +
  134 + /**
  135 + * Retorna um array com os dados de um registro.
  136 + * @return array
  137 + */
  138 + function existe()
  139 + {
  140 + if (is_numeric($this->cep) && is_numeric($this->idlog)) {
  141 + $db = new clsBanco();
  142 + $db->Consulta("SELECT 1 FROM {$this->schema}.{$this->tabela} WHERE cep = '{$this->cep}' AND idlog = '{$this->idlog}' ");
  143 + $db->ProximoRegistro();
  144 + return $db->Tupla();
  145 + }
  146 +
  147 + return FALSE;
  148 + }
  149 +
134 /** 150 /**
135 * Remove o registro atual 151 * Remove o registro atual
136 * 152 *
@@ -184,7 +200,7 @@ class clsCepLogradouro @@ -184,7 +200,7 @@ class clsCepLogradouro
184 $limit = ""; 200 $limit = "";
185 if(is_numeric($int_limite_ini) && is_numeric($int_limite_qtd)) 201 if(is_numeric($int_limite_ini) && is_numeric($int_limite_qtd))
186 { 202 {
187 - $limit = " LIMIT $int_limite_ini,$int_limite_qtd"; 203 + $limit = " LIMIT $int_limite_qtd OFFSET $int_limite_ini";
188 } 204 }
189 205
190 $db = new clsBanco(); 206 $db = new clsBanco();
ieducar/intranet/include/pessoa/clsCepLogradouroBairro.inc.php
@@ -76,7 +76,7 @@ class clsCepLogradouroBairro @@ -76,7 +76,7 @@ class clsCepLogradouroBairro
76 // verificacoes de campos obrigatorios para insercao 76 // verificacoes de campos obrigatorios para insercao
77 if( is_numeric($this->idlog) && is_numeric($this->cep) && is_numeric($this->idbai)) 77 if( is_numeric($this->idlog) && is_numeric($this->cep) && is_numeric($this->idbai))
78 { 78 {
79 - $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} ($campos) VALUES ($values)" ); 79 + $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} (cep,idlog,idbai, origem_gravacao, data_cad, operacao, idsis_cad ) VALUES ('{$this->cep}', '{$this->idlog}', '{$this->idbai}', 'U', NOW(), 'I', '9' )" );
80 80
81 } 81 }
82 return false; 82 return false;
@@ -198,5 +198,21 @@ class clsCepLogradouroBairro @@ -198,5 +198,21 @@ class clsCepLogradouroBairro
198 } 198 }
199 return false; 199 return false;
200 } 200 }
  201 +
  202 + /**
  203 + * Retorna um array com os dados de um registro.
  204 + * @return array
  205 + */
  206 + function existe()
  207 + {
  208 + if (is_numeric($this->cep) && is_numeric($this->idlog) && is_numeric($this->idbai)) {
  209 + $db = new clsBanco();
  210 + $db->Consulta("SELECT 1 FROM {$this->schema}.{$this->tabela} WHERE cep = '{$this->cep}' AND idlog = '{$this->idlog}' AND idbai = '{$this->idbai}' ");
  211 + $db->ProximoRegistro();
  212 + return $db->Tupla();
  213 + }
  214 +
  215 + return FALSE;
  216 + }
201 } 217 }
202 ?> 218 ?>
203 \ No newline at end of file 219 \ No newline at end of file
ieducar/intranet/include/pessoa/clsEnderecoPessoa.inc.php
@@ -346,11 +346,11 @@ class clsPessoaEndereco @@ -346,11 +346,11 @@ class clsPessoaEndereco
346 $cep = $tupla['cep']; 346 $cep = $tupla['cep'];
347 347
348 $tupla['cep'] = new clsCepLogradouro($cep, $tupla['idlog']); 348 $tupla['cep'] = new clsCepLogradouro($cep, $tupla['idlog']);
349 - $tupla['idlog'] = new clsCepLogradouro($cep, $tupla['idlog']); 349 + #$tupla['idlog'] = new clsCepLogradouro($cep, $tupla['idlog']);
350 350
351 - $tupla['idbai'] = new clsPublicBairro(NULL, NULL, $tupla['idbai']); 351 + #$tupla['idbai'] = new clsPublicBairro(NULL, NULL, $tupla['idbai']);
352 352
353 - $bairro = $tupla['idbai']->detalhe(); 353 + #$bairro = $tupla['idbai']->detalhe();
354 354
355 $tupla['zona_localizacao'] = $bairro['zona_localizacao']; 355 $tupla['zona_localizacao'] = $bairro['zona_localizacao'];
356 356
ieducar/intranet/include/pessoa/clsLogradouro.inc.php
@@ -32,9 +32,10 @@ class clsLogradouro @@ -32,9 +32,10 @@ class clsLogradouro
32 var $idlog; 32 var $idlog;
33 var $idtlog; 33 var $idtlog;
34 var $nome; 34 var $nome;
35 - var $idnum; 35 + var $idmun;
36 var $geom; 36 var $geom;
37 var $ident_oficial; 37 var $ident_oficial;
  38 + var $idpes_cad;
38 39
39 var $tabela; 40 var $tabela;
40 var $schema = "public"; 41 var $schema = "public";
@@ -44,7 +45,7 @@ class clsLogradouro @@ -44,7 +45,7 @@ class clsLogradouro
44 * 45 *
45 * @return Object:clsLogradouro 46 * @return Object:clsLogradouro
46 */ 47 */
47 - function clsLogradouro( $int_idlog = false, $str_idtlog=false, $str_nome=false, $int_idnum=false, $str_geom=false, $str_ident_oficial=false ) 48 + function clsLogradouro( $int_idlog = false, $str_idtlog=false, $str_nome=false, $int_idmun=false, $str_geom=false, $str_ident_oficial=false, $idpes_cad = null)
48 { 49 {
49 $this->idlog = $int_idlog; 50 $this->idlog = $int_idlog;
50 51
@@ -55,9 +56,10 @@ class clsLogradouro @@ -55,9 +56,10 @@ class clsLogradouro
55 } 56 }
56 57
57 $this->nome = $str_nome; 58 $this->nome = $str_nome;
58 - $this->idnum = $int_idnum; 59 + $this->idmun = $int_idmun;
59 $this->geom = $str_geom; 60 $this->geom = $str_geom;
60 $this->ident_oficial = $str_ident_oficial; 61 $this->ident_oficial = $str_ident_oficial;
  62 + $this->idpes_cad = $idpes_cad;
61 63
62 $this->tabela = "logradouro"; 64 $this->tabela = "logradouro";
63 } 65 }
@@ -71,7 +73,7 @@ class clsLogradouro @@ -71,7 +73,7 @@ class clsLogradouro
71 { 73 {
72 $db = new clsBanco(); 74 $db = new clsBanco();
73 // verificacoes de campos obrigatorios para insercao 75 // verificacoes de campos obrigatorios para insercao
74 - if( is_string( $this->idtlog ) && is_string( $this->nome ) && is_numeric( $this->idnum ) && is_string($this->ident_oficial) ) 76 + if( is_string( $this->idtlog ) && is_string( $this->nome ) && is_numeric( $this->idmun ) && is_string($this->ident_oficial) )
75 { 77 {
76 $campos = ""; 78 $campos = "";
77 $values = ""; 79 $values = "";
@@ -82,9 +84,15 @@ class clsLogradouro @@ -82,9 +84,15 @@ class clsLogradouro
82 $values .= ", '{$this->geom}'"; 84 $values .= ", '{$this->geom}'";
83 } 85 }
84 86
85 - $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} ( idtlog, nome, idnum, ident_oficial$campos ) VALUES ( '{$this->idtlog}', '{$this->nome}', '{$this->idnum}'$values )" );  
86 -  
87 - return true; 87 + if( is_string( $this->idpes_cad ) )
  88 + {
  89 + $campos .= ", idpes_cad";
  90 + $values .= ", '{$this->idpes_cad}'";
  91 + }
  92 +
  93 + $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} ( idtlog, nome, idmun, origem_gravacao, ident_oficial,data_cad, OPERACAO, idsis_cad$campos ) VALUES ( '{$this->idtlog}', '{$this->nome}', '{$this->idmun}', 'U', '{$this->ident_oficial}', NOW(), 'I', '9' $values )" );
  94 +
  95 + return $db->InsertId("{$this->schema}.seq_logradouro");
88 } 96 }
89 return false; 97 return false;
90 } 98 }
@@ -97,9 +105,9 @@ class clsLogradouro @@ -97,9 +105,9 @@ class clsLogradouro
97 function edita() 105 function edita()
98 { 106 {
99 // verifica campos obrigatorios para edicao 107 // verifica campos obrigatorios para edicao
100 - if( is_numeric( $this->idlog ) && is_string( $this->idtlog ) && is_string( $this->nome ) && is_numeric( $this->idnum ) && is_string($this->ident_oficial) ) 108 + if( is_numeric( $this->idlog ) && is_string( $this->idtlog ) && is_string( $this->nome ) && is_numeric( $this->idmun ) && is_string($this->ident_oficial) )
101 { 109 {
102 - $set = "SET idtlog = '{$this->idtlog}', nome = '{$this->nome}', idnum = '{$this->idnum}', ident_oficial = '{$this->ident_oficial}'"; 110 + $set = "SET idtlog = '{$this->idtlog}', nome = '{$this->nome}', idmun = '{$this->idmun}', ident_oficial = '{$this->ident_oficial}'";
103 111
104 if( is_string( $this->geom ) ) 112 if( is_string( $this->geom ) )
105 { 113 {
@@ -172,9 +180,9 @@ class clsLogradouro @@ -172,9 +180,9 @@ class clsLogradouro
172 $where .= "{$whereAnd}fcn_upper_nrm( nome ) ILIKE '%$str_nome%'"; 180 $where .= "{$whereAnd}fcn_upper_nrm( nome ) ILIKE '%$str_nome%'";
173 $whereAnd = " AND "; 181 $whereAnd = " AND ";
174 } 182 }
175 - if( is_numeric( $int_idnum ) ) 183 + if( is_numeric( $int_idmun ) )
176 { 184 {
177 - $where .= "{$whereAnd}idmun = '$int_idnum'"; 185 + $where .= "{$whereAnd}idmun = '$int_idmun'";
178 $whereAnd = " AND "; 186 $whereAnd = " AND ";
179 } 187 }
180 if( is_string( $str_geom ) ) 188 if( is_string( $str_geom ) )
@@ -226,7 +234,7 @@ class clsLogradouro @@ -226,7 +234,7 @@ class clsLogradouro
226 * 234 *
227 * @return Array 235 * @return Array
228 */ 236 */
229 - function listamun( $str_idtlog=false, $str_nome=false, $int_idnum=false, $int_idmun=false, $str_geom=false, $str_ident_oficial=false, $int_limite_ini=0, $int_limite_qtd=20, $str_orderBy = false ) 237 + function listamun( $str_idtlog=false, $str_nome=false, $int_idmun=false, $int_idmun=false, $str_geom=false, $str_ident_oficial=false, $int_limite_ini=0, $int_limite_qtd=20, $str_orderBy = false )
230 { 238 {
231 // verificacoes de filtros a serem usados 239 // verificacoes de filtros a serem usados
232 $whereAnd = "WHERE "; 240 $whereAnd = "WHERE ";
@@ -240,9 +248,9 @@ class clsLogradouro @@ -240,9 +248,9 @@ class clsLogradouro
240 $where .= "{$whereAnd}nome LIKE '%$str_nome%'"; 248 $where .= "{$whereAnd}nome LIKE '%$str_nome%'";
241 $whereAnd = " AND "; 249 $whereAnd = " AND ";
242 } 250 }
243 - if( is_numeric( $int_idnum ) ) 251 + if( is_numeric( $int_idmun ) )
244 { 252 {
245 - $where .= "{$whereAnd}idnum = '$int_idnum'"; 253 + $where .= "{$whereAnd}idmun = '$int_idmun'";
246 $whereAnd = " AND "; 254 $whereAnd = " AND ";
247 } 255 }
248 if( is_numeric( $int_idmun ) ) 256 if( is_numeric( $int_idmun ) )
@@ -311,7 +319,7 @@ class clsLogradouro @@ -311,7 +319,7 @@ class clsLogradouro
311 $this->idlog = $tupla["idlog"]; 319 $this->idlog = $tupla["idlog"];
312 $this->idtlog = $tupla["idtlog"]; 320 $this->idtlog = $tupla["idtlog"];
313 $this->nome = $tupla["nome"]; 321 $this->nome = $tupla["nome"];
314 - $this->idnum = $tupla["idnum"]; 322 + $this->idmun = $tupla["idmun"];
315 $this->geom = $tupla["geom"]; 323 $this->geom = $tupla["geom"];
316 $this->ident_oficial = $tupla["ident_oficial"]; 324 $this->ident_oficial = $tupla["ident_oficial"];
317 325
ieducar/intranet/scripts/padrao.js
@@ -734,50 +734,66 @@ function cv_set_campo(campo1, valor1, campo2, valor2, campo3, valor3, campo4, @@ -734,50 +734,66 @@ function cv_set_campo(campo1, valor1, campo2, valor2, campo3, valor3, campo4,
734 valor9, campo10, valor10, campo11, valor11, campo12, campo13, valor13, 734 valor9, campo10, valor10, campo11, valor11, campo12, campo13, valor13,
735 campo14, valor14) 735 campo14, valor14)
736 { 736 {
737 - obj1 = parent.document.getElementById(campo1);  
738 - obj1.value = valor1;  
739 - obj1.disabled = true; 737 + obj1 = parent.document.getElementById(campo1);
  738 + if (obj1){
  739 + obj1.value = valor1;
  740 + }
740 741
741 - obj2 = parent.document.getElementById(campo2);  
742 - obj2.value = valor2; 742 + obj2 = parent.document.getElementById(campo2);
  743 + if (obj2){
  744 + obj2.value = valor2;
  745 + }
743 746
744 - obj3 = parent.document.getElementById(campo3);  
745 - obj3.value = valor3; 747 + obj3 = parent.document.getElementById(campo3);
  748 + if (obj3){
  749 + obj3.value = valor3;
  750 + }
746 751
747 - obj4 = parent.document.getElementById(campo4);  
748 - obj4.value = valor4;  
749 - obj4.disabled = true; 752 + obj4 = parent.document.getElementById(campo4);
  753 + if (obj4){
  754 + obj4.value = valor4;
  755 + }
750 756
751 - obj5 = parent.document.getElementById(campo5);  
752 - obj5.value = valor5; 757 + obj5 = parent.document.getElementById(campo5);
  758 + if (obj5){
  759 + obj5.value = valor5;
  760 + }
753 761
754 - obj6 = parent.document.getElementById(campo6);  
755 - obj6.value = valor6; 762 + obj6 = parent.document.getElementById(campo6);
  763 + if (obj6){
  764 + obj6.value = valor6;
  765 + }
756 766
757 - obj7 = parent.document.getElementById(campo7);  
758 - obj7.value = valor7;  
759 - obj7.disabled = true; 767 + obj7 = parent.document.getElementById(campo7);
  768 + if (obj7){
  769 + obj7.value = valor7;
  770 + }
760 771
761 - obj8 = parent.document.getElementById(campo8);  
762 - obj8.value = valor8; 772 + obj8 = parent.document.getElementById(campo8);
  773 + if (obj8){
  774 + obj8.value = valor8;
  775 + }
763 776
764 obj9 = parent.document.getElementById(campo9); 777 obj9 = parent.document.getElementById(campo9);
765 -  
766 if (obj9) { 778 if (obj9) {
767 obj9.value = valor9; 779 obj9.value = valor9;
768 } 780 }
769 781
770 - obj10 = parent.document.getElementById(campo10);  
771 - obj10.value = valor10;  
772 - obj10.disabled = true; 782 + obj10 = parent.document.getElementById(campo10);
  783 + if (obj10){
  784 + obj10.value = valor10;
  785 + }
773 786
774 - obj11 = parent.document.getElementById(campo11);  
775 - obj11.value = valor11;  
776 - obj11.disabled = true; 787 + obj11 = parent.document.getElementById(campo11);
  788 + if (obj11) {
  789 + obj11.value = valor11;
  790 + }
777 791
778 - obj12 = parent.document.getElementById(campo12);  
779 - obj12.value = valor8;  
780 - obj12.disabled = true; 792 + obj12 = parent.document.getElementById(campo12);
  793 + if (obj12) {
  794 + obj12.value = valor8;
  795 + obj12.disabled = true;
  796 + }
781 797
782 if (parent.document.getElementById(campo13)) { 798 if (parent.document.getElementById(campo13)) {
783 obj13 = parent.document.getElementById(campo13); 799 obj13 = parent.document.getElementById(campo13);
ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchBairro.php 0 → 100644
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +<?php
  2 +#error_reporting(E_ALL);
  3 +#ini_set("display_errors", 1);
  4 +/**
  5 + * i-Educar - Sistema de gestão escolar
  6 + *
  7 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  8 + * <ctima@itajai.sc.gov.br>
  9 + *
  10 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  11 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  12 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  13 + * qualquer versão posterior.
  14 + *
  15 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  16 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  17 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  18 + * do GNU para mais detalhes.
  19 + *
  20 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  21 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  22 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  23 + *
  24 + * @author Lucas Schmoeller da Silva <lucas@portabilis.com.br>
  25 + * @category i-Educar
  26 + * @license @@license@@
  27 + * @package Portabilis
  28 + * @since Arquivo disponível desde a versão ?
  29 + * @version $Id$
  30 + */
  31 +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php';
  32 +require_once 'lib/Portabilis/Utils/Database.php';
  33 +require_once 'lib/Portabilis/String/Utils.php';
  34 +/**
  35 + * Portabilis_View_Helper_Input_SimpleSearchBairro class.
  36 + *
  37 + * @author Lucas Schmoeller da Silva <lucasdavila@portabilis.com.br>
  38 + * @category i-Educar
  39 + * @license @@license@@
  40 + * @package Portabilis
  41 + * @since Classe disponível desde a versão ?
  42 + * @version @@package_version@@
  43 + */
  44 +class Portabilis_View_Helper_Input_Resource_SimpleSearchBairro extends Portabilis_View_Helper_Input_SimpleSearch {
  45 + public function simpleSearchBairro($attrName, $options = array()) {
  46 + $defaultOptions = array('objectName' => 'bairro',
  47 + 'apiController' => 'Bairro',
  48 + 'apiResource' => 'bairro-search',
  49 + 'showIdOnValue' => false);
  50 + $options = $this->mergeOptions($options, $defaultOptions);
  51 + parent::simpleSearch($options['objectName'], $attrName, $options);
  52 + }
  53 + protected function resourceValue($id) {
  54 + if ($id) {
  55 + $sql = "select nome, zona_localizacao from public.bairro where idbai = $1";
  56 + $options = array('params' => $id, 'return_only' => 'first-row');
  57 + $municipio = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options);
  58 + $nome = $municipio['nome'];
  59 + $zona = ($municipio['zona_localizacao'] == 1 ? 'Urbana' : 'Rural');
  60 + return Portabilis_String_Utils::toLatin1($nome, array('transform' => true, 'escape' => false)) . " / Zona $zona";
  61 + }
  62 + }
  63 + protected function inputPlaceholder($inputOptions) {
  64 + return 'Informe o nome do bairro';
  65 + }
  66 +
  67 + protected function loadAssets() {
  68 + $jsFile = '/modules/Portabilis/Assets/Javascripts/Frontend/Inputs/Resource/SimpleSearchBairro.js';
  69 + Portabilis_View_Helper_Application::loadJavascript($this->viewInstance, $jsFile);
  70 + }
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchLogradouro.php 0 → 100644
@@ -0,0 +1,74 @@ @@ -0,0 +1,74 @@
  1 +<?php
  2 +#error_reporting(E_ALL);
  3 +#ini_set("display_errors", 1);
  4 +/**
  5 + * i-Educar - Sistema de gestão escolar
  6 + *
  7 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  8 + * <ctima@itajai.sc.gov.br>
  9 + *
  10 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  11 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  12 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  13 + * qualquer versão posterior.
  14 + *
  15 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  16 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  17 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  18 + * do GNU para mais detalhes.
  19 + *
  20 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  21 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  22 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  23 + *
  24 + * @author Lucas Schmoeller da Silva <lucas@portabilis.com.br>
  25 + * @category i-Educar
  26 + * @license @@license@@
  27 + * @package Portabilis
  28 + * @since Arquivo disponível desde a versão ?
  29 + * @version $Id$
  30 + */
  31 +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php';
  32 +require_once 'lib/Portabilis/Utils/Database.php';
  33 +require_once 'lib/Portabilis/String/Utils.php';
  34 +/**
  35 + * Portabilis_View_Helper_Input_SimpleSearchLogradouro class.
  36 + *
  37 + * @author Lucas Schmoeller da Silva <lucasdavila@portabilis.com.br>
  38 + * @category i-Educar
  39 + * @license @@license@@
  40 + * @package Portabilis
  41 + * @since Classe disponível desde a versão ?
  42 + * @version @@package_version@@
  43 + */
  44 +class Portabilis_View_Helper_Input_Resource_SimpleSearchLogradouro extends Portabilis_View_Helper_Input_SimpleSearch {
  45 + public function simpleSearchLogradouro($attrName, $options = array()) {
  46 + $defaultOptions = array('objectName' => 'logradouro',
  47 + 'apiController' => 'Logradouro',
  48 + 'apiResource' => 'logradouro-search',
  49 + 'showIdOnValue' => false);
  50 + $options = $this->mergeOptions($options, $defaultOptions);
  51 + parent::simpleSearch($options['objectName'], $attrName, $options);
  52 + }
  53 +
  54 + protected function resourceValue($id) {
  55 + if ($id) {
  56 + $sql = "select nome, descricao as tipo_logradouro from
  57 + public.logradouro l left join urbano.tipo_logradouro tl on (l.idtlog = tl.idtlog)
  58 + where idlog = $1";
  59 + $options = array('params' => $id, 'return_only' => 'first-row');
  60 + $resource = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options);
  61 + $tipo = Portabilis_String_Utils::toUtf8($resource['tipo_logradouro']);
  62 + $nome = Portabilis_String_Utils::toUtf8($resource['nome']);
  63 +
  64 + return Portabilis_String_Utils::toLatin1($tipo.' '.$nome, array('transform' => true, 'escape' => false));
  65 + }
  66 + }
  67 + protected function inputPlaceholder($inputOptions) {
  68 + return 'Informe o nome do logradouro';
  69 + }
  70 + protected function loadAssets() {
  71 + $jsFile = '/modules/Portabilis/Assets/Javascripts/Frontend/Inputs/Resource/SimpleSearchLogradouro.js';
  72 + Portabilis_View_Helper_Application::loadJavascript($this->viewInstance, $jsFile);
  73 + }
  74 +}
0 \ No newline at end of file 75 \ No newline at end of file
ieducar/lib/Portabilis/View/Helper/Input/SimpleSearch.php
@@ -56,7 +56,8 @@ class Portabilis_View_Helper_Input_SimpleSearch extends Portabilis_View_Helper_I @@ -56,7 +56,8 @@ class Portabilis_View_Helper_Input_SimpleSearch extends Portabilis_View_Helper_I
56 'apiResource' => $objectName . '-search', 56 'apiResource' => $objectName . '-search',
57 'searchPath' => '', 57 'searchPath' => '',
58 'addHiddenInput' => true, 58 'addHiddenInput' => true,
59 - 'hiddenInputOptions' => array()); 59 + 'hiddenInputOptions' => array(),
  60 + 'showIdOnValue' => true);
60 61
61 $options = $this->mergeOptions($options, $defaultOptions); 62 $options = $this->mergeOptions($options, $defaultOptions);
62 63
@@ -68,8 +69,12 @@ class Portabilis_View_Helper_Input_SimpleSearch extends Portabilis_View_Helper_I @@ -68,8 +69,12 @@ class Portabilis_View_Helper_Input_SimpleSearch extends Portabilis_View_Helper_I
68 // load value if received an resource id 69 // load value if received an resource id
69 $resourceId = $options['hiddenInputOptions']['options']['value']; 70 $resourceId = $options['hiddenInputOptions']['options']['value'];
70 71
71 - if ($resourceId && ! $options['options']['value'])  
72 - $options['options']['value'] = $resourceId . " - ". $this->resourceValue($resourceId); 72 + if ($resourceId && ! $options['options']['value']){
  73 + if ($options['showIdOnValue'])
  74 + $options['options']['value'] = $resourceId . " - ". $this->resourceValue($resourceId);
  75 + else
  76 + $options['options']['value'] = $this->resourceValue($resourceId);
  77 + }
73 78
74 $this->hiddenInput($objectName, $attrName, $options); 79 $this->hiddenInput($objectName, $attrName, $options);
75 $this->textInput($objectName, $attrName, $options); 80 $this->textInput($objectName, $attrName, $options);
ieducar/lib/Portabilis/View/Helper/Inputs.php
@@ -201,6 +201,18 @@ class Portabilis_View_Helper_Inputs { @@ -201,6 +201,18 @@ class Portabilis_View_Helper_Inputs {
201 201
202 } 202 }
203 203
  204 + public function simpleSearchBairro($attrName, $inputOptions = array(), $helperOptions = array()) {
  205 +
  206 + $this->simpleSearchResourceInput('simpleSearchBairro', $attrName, $inputOptions, $helperOptions);
  207 +
  208 + }
  209 +
  210 + public function simpleSearchLogradouro($attrName, $inputOptions = array(), $helperOptions = array()) {
  211 +
  212 + $this->simpleSearchResourceInput('simpleSearchLogradouro', $attrName, $inputOptions, $helperOptions);
  213 +
  214 + }
  215 +
204 // multiple search resource input helper 216 // multiple search resource input helper
205 217
206 218
ieducar/modules/Api/Views/BairroController.php 0 → 100644
@@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
  1 +<?php
  2 +/**
  3 + * i-Educar - Sistema de gestão escolar
  4 + *
  5 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  6 + * <ctima@itajai.sc.gov.br>
  7 + *
  8 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  9 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  10 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  11 + * qualquer versão posterior.
  12 + *
  13 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  14 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  15 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  16 + * do GNU para mais detalhes.
  17 + *
  18 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  19 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  20 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  21 + *
  22 + * @author Lucas Schmoeller da Silva <lucas@portabilis.com.br>
  23 + * @category i-Educar
  24 + * @license @@license@@
  25 + * @package Api
  26 + * @subpackage Modules
  27 + * @since Arquivo disponível desde a versão ?
  28 + * @version $Id$
  29 + */
  30 +require_once 'lib/Portabilis/Controller/ApiCoreController.php';
  31 +require_once 'lib/Portabilis/Array/Utils.php';
  32 +require_once 'intranet/include/clsBanco.inc.php';
  33 +class BairroController extends ApiCoreController
  34 +{
  35 + protected function searchOptions() {
  36 + $municipioId = $this->getRequest()->municipio_id ? $this->getRequest()->municipio_id : 0;
  37 + return array('sqlParams' => array($municipioId), 'selectFields' => array('zona_localizacao'));
  38 +
  39 + }
  40 + protected function formatResourceValue($resource) {
  41 + $zona = $resource['zona_localizacao'] == 1 ? 'Urbana' : 'Rural';
  42 + $nome = $this->toUtf8($resource['name'], array('transform' => true));
  43 + return "$nome / Zona $zona ";
  44 + }
  45 + protected function sqlsForNumericSearch() {
  46 +
  47 + $sqls[] = "select idbai as id, nome as name, zona_localizacao from
  48 + public.bairro where idbai like $1||'%' and idmun = $2 ";
  49 + return $sqls;
  50 + }
  51 + protected function sqlsForStringSearch() {
  52 + $sqls[] = "select idbai as id, nome as name, zona_localizacao from
  53 + public.bairro where lower(to_ascii(nome)) like '%'||lower(to_ascii($1))||'%' and idmun = $2 ";
  54 + return $sqls;
  55 + }
  56 + public function Gerar() {
  57 + if ($this->isRequestFor('get', 'bairro-search'))
  58 + $this->appendResponse($this->search());
  59 + else
  60 + $this->notImplementedOperationError();
  61 + }
  62 +}
0 \ No newline at end of file 63 \ No newline at end of file
ieducar/modules/Api/Views/EnderecoController.php 0 → 100644
@@ -0,0 +1,75 @@ @@ -0,0 +1,75 @@
  1 +<?php
  2 +/**
  3 + * i-Educar - Sistema de gestão escolar
  4 + *
  5 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  6 + * <ctima@itajai.sc.gov.br>
  7 + *
  8 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  9 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  10 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  11 + * qualquer versão posterior.
  12 + *
  13 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  14 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  15 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  16 + * do GNU para mais detalhes.
  17 + *
  18 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  19 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  20 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  21 + *
  22 + * @author Lucas Schmoeller da Silva <lucas@portabilis.com.br>
  23 + * @category i-Educar
  24 + * @license @@license@@
  25 + * @package Api
  26 + * @subpackage Modules
  27 + * @since Arquivo disponível desde a versão ?
  28 + * @version $Id$
  29 + */
  30 +require_once 'lib/Portabilis/Controller/ApiCoreController.php';
  31 +require_once 'lib/Portabilis/Array/Utils.php';
  32 +require_once 'lib/Portabilis/String/Utils.php';
  33 +require_once 'intranet/include/clsBanco.inc.php';
  34 +require_once 'intranet/include/funcoes.inc.php';
  35 +class EnderecoController extends ApiCoreController
  36 +{
  37 + protected function getPrimeiroEnderecoCep() {
  38 +
  39 + $cep = idFederal2int($this->getRequest()->cep);
  40 +
  41 + // consulta dados
  42 + $select = "
  43 + SELECT
  44 + c.idlog, c.cep, c.idbai, b.nome as nome_bairro, l.nome as nome_logradouro, u.sigla_uf, m.nome, t.idtlog, t.descricao as tipo_logradouro, m.idmun, b.zona_localizacao
  45 +
  46 + FROM
  47 + urbano.cep_logradouro_bairro c, public.bairro b, public.logradouro l,
  48 + public.municipio m, public.uf u, urbano.tipo_logradouro t
  49 + WHERE
  50 + c.idlog = l.idlog AND
  51 + c.idbai = b.idbai AND
  52 + l.idmun = b.idmun AND
  53 + l.idmun = m.idmun AND
  54 + l.idtlog = t.idtlog AND
  55 + m.sigla_uf = u.sigla_uf AND
  56 + c.cep = {$cep} LIMIT 1";
  57 +
  58 + $result = Portabilis_Utils_Database::fetchPreparedQuery($select, array('return_only' => 'first-line'));
  59 + $return;
  60 + if (is_array($result)){
  61 + $return = array();
  62 + foreach ($result as $name => $value) {
  63 + $return[$name] = Portabilis_String_Utils::toUtf8($value);
  64 + }
  65 + }
  66 +
  67 + return $return;
  68 + }
  69 + public function Gerar() {
  70 + if ($this->isRequestFor('get', 'primeiro_endereco_cep'))
  71 + $this->appendResponse($this->getPrimeiroEnderecoCep());
  72 + else
  73 + $this->notImplementedOperationError();
  74 + }
  75 +}
0 \ No newline at end of file 76 \ No newline at end of file
ieducar/modules/Api/Views/LogradouroController.php 0 → 100644
@@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
  1 +<?php
  2 +/**
  3 + * i-Educar - Sistema de gestão escolar
  4 + *
  5 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  6 + * <ctima@itajai.sc.gov.br>
  7 + *
  8 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  9 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  10 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  11 + * qualquer versão posterior.
  12 + *
  13 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  14 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  15 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  16 + * do GNU para mais detalhes.
  17 + *
  18 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  19 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  20 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  21 + *
  22 + * @author Lucas Schmoeller da Silva <lucas@portabilis.com.br>
  23 + * @category i-Educar
  24 + * @license @@license@@
  25 + * @package Api
  26 + * @subpackage Modules
  27 + * @since Arquivo disponível desde a versão ?
  28 + * @version $Id$
  29 + */
  30 +require_once 'lib/Portabilis/Controller/ApiCoreController.php';
  31 +require_once 'lib/Portabilis/Array/Utils.php';
  32 +require_once 'intranet/include/clsBanco.inc.php';
  33 +class LogradouroController extends ApiCoreController
  34 +{
  35 + protected function searchOptions() {
  36 + $municipioId = $this->getRequest()->municipio_id ? $this->getRequest()->municipio_id : 0;
  37 + return array('sqlParams' => array($municipioId), 'selectFields' => array('tipo_logradouro'));
  38 +
  39 + }
  40 + protected function sqlsForNumericSearch() {
  41 + $sqls[] = "select distinct idlog as id, nome as name, descricao as tipo_logradouro from
  42 + public.logradouro l left join urbano.tipo_logradouro tl on (l.idtlog = tl.idtlog)
  43 + where idlog like $1||'%' and idmun = $2 ";
  44 + return $sqls;
  45 + }
  46 + protected function sqlsForStringSearch() {
  47 + $sqls[] = "select distinct idlog as id, nome as name, descricao as tipo_logradouro from
  48 + public.logradouro l left join urbano.tipo_logradouro tl on (l.idtlog = tl.idtlog)
  49 + where (lower(to_ascii(nome)) like '%'||lower(to_ascii($1))||'%'
  50 + OR lower(to_ascii(descricao))|| ' ' ||lower(to_ascii(nome)) like '%'||lower(to_ascii($1))||'%')
  51 + and idmun = $2 ";
  52 + return $sqls;
  53 + }
  54 + protected function formatResourceValue($resource) {
  55 + $tipo = $resource['tipo_logradouro'];
  56 + $nome = $this->toUtf8($resource['name'], array('transform' => true));
  57 + return "$tipo $nome";
  58 + }
  59 + public function Gerar() {
  60 + if ($this->isRequestFor('get', 'logradouro-search'))
  61 + $this->appendResponse($this->search());
  62 + else
  63 + $this->notImplementedOperationError();
  64 + }
  65 +}
0 \ No newline at end of file 66 \ No newline at end of file
ieducar/modules/Cadastro/Assets/Javascripts/PessoaFisica.js
1 -  
2 // before page is ready 1 // before page is ready
3 2
4 function hrefToCreateParent(parentType) { 3 function hrefToCreateParent(parentType) {
@@ -164,6 +163,12 @@ var validatesUniquenessOfCpf = function() { @@ -164,6 +163,12 @@ var validatesUniquenessOfCpf = function() {
164 163
165 164
166 var submitForm = function(event) { 165 var submitForm = function(event) {
  166 + if ($j('#cep_').val()){
  167 + if (!validateEndereco()){
  168 + alert('Preencha os campos de endera\u00e7amento corretamente.')
  169 + return;
  170 + }
  171 + }
167 if ($cpfField.val()) { 172 if ($cpfField.val()) {
168 $j(document).data('submit_form_after_ajax_validation', true); 173 $j(document).data('submit_form_after_ajax_validation', true);
169 validatesUniquenessOfCpf(); 174 validatesUniquenessOfCpf();
@@ -213,6 +218,9 @@ $j(document).ready(function() { @@ -213,6 +218,9 @@ $j(document).ready(function() {
213 $submitButton.removeAttr('onclick'); 218 $submitButton.removeAttr('onclick');
214 $submitButton.click(submitForm); 219 $submitButton.click(submitForm);
215 220
  221 + hideEnderecoFields();
  222 + fixUpPlaceholderEndereco();
  223 +
216 }); // ready 224 }); // ready
217 225
218 226
@@ -287,4 +295,293 @@ var simpleSearchMaeOptions = { @@ -287,4 +295,293 @@ var simpleSearchMaeOptions = {
287 }; 295 };
288 296
289 $paiNomeField.focusout(changeVisibilityOfLinksToPessoaPai); 297 $paiNomeField.focusout(changeVisibilityOfLinksToPessoaPai);
290 -$maeNomeField.focusout(changeVisibilityOfLinksToPessoaMae);  
291 \ No newline at end of file 298 \ No newline at end of file
  299 +$maeNomeField.focusout(changeVisibilityOfLinksToPessoaMae);
  300 +
  301 +// --------------------------------- SCRIPTS ENDEREÇAMENTO ---------------------------------------- //
  302 +
  303 +function hideEnderecoFields(){
  304 + if($j('#cep_').val()){
  305 +
  306 + if ($j('#bairro_id').val())
  307 + bloqueiaCadastroBairro();
  308 + else
  309 + bloqueiaBuscaBairro();
  310 +
  311 + if ($j('#logradouro_id').val())
  312 + bloqueiaCadastroLogradouro();
  313 + else
  314 + bloqueiaBuscaLogradouro();
  315 +
  316 + }else{
  317 +
  318 + $j('#bairro').closest('tr').hide();
  319 + $j('#logradouro').closest('tr').hide();
  320 + }
  321 +}
  322 +
  323 +
  324 +// Campo CEP
  325 +
  326 +var handleGetCep = function(dataResponse) {
  327 +
  328 + if (dataResponse['cep']){
  329 + $j('#municipio_id').val(dataResponse['idmun']);
  330 + $j('#municipio_municipio').val(dataResponse['idmun'] + ' - ' + dataResponse['nome'] + ' (' + dataResponse['sigla_uf'] + ')');
  331 + $j('#bairro_id').val(dataResponse['idbai']);
  332 + $j('#bairro_bairro').val(dataResponse['nome_bairro']+' / Zona '+(dataResponse['zona_localizacao'] == 1 ? 'Urbana' : 'Rural'));
  333 + $j('#logradouro_id').val(dataResponse['idlog']);
  334 + $j('#logradouro_logradouro').val(dataResponse['tipo_logradouro']+' '+dataResponse['nome_logradouro']);
  335 +
  336 + }else{
  337 + $j('#municipio_id').val('');
  338 + $j('#municipio_municipio').val('');
  339 + $j('#bairro_id').val('');
  340 + $j('#bairro_bairro').val('');
  341 + $j('#logradouro_id').val('');
  342 + $j('#logradouro_logradouro').val('');
  343 + }
  344 +
  345 + $j('#municipio_municipio').removeAttr('disabled');
  346 + $j('#bairro_bairro').removeAttr('disabled');
  347 + $j('#logradouro_logradouro').removeAttr('disabled');
  348 + $j('#bairro').removeAttr('disabled');
  349 + $j('#zona_localizacao').removeAttr('disabled');
  350 + $j('#idtlog').removeAttr('disabled');
  351 + $j('#logradouro').removeAttr('disabled');
  352 + bloqueiaCadastroBairro();
  353 + bloqueiaCadastroLogradouro();
  354 + fixUpPlaceholderEndereco();
  355 +}
  356 +
  357 +// Caso cep seja válido dispara ajax para recuperar dados do primeiro cep encontrado
  358 +var searchCep = function() {
  359 +
  360 + var cep = $j('#cep_').val();
  361 +
  362 + if (checkCepFields(cep)) {
  363 + var additionalVars = {
  364 + cep : cep,
  365 + };
  366 +
  367 + var options = {
  368 + url : getResourceUrlBuilder.buildUrl('/module/Api/endereco', 'primeiro_endereco_cep', additionalVars),
  369 + dataType : 'json',
  370 + data : {},
  371 + success : handleGetCep
  372 + };
  373 +
  374 + getResource(options);
  375 + }else
  376 + clearEnderecoFields();
  377 +
  378 +}
  379 +// Ao digitar um cep inválido todos os campos de endereçamento são bloqueados e limpados
  380 +function clearEnderecoFields(){
  381 + $j('#bairro').attr('disabled','disabled');
  382 + $j('#zona_localizacao').attr('disabled','disabled');
  383 + $j('#bairro_bairro').attr('disabled','disabled');
  384 + $j('#logradouro_logradouro').attr('disabled','disabled');
  385 + $j('#idtlog').attr('disabled','disabled');
  386 + $j('#logradouro').attr('disabled','disabled');
  387 + $j('#municipio_municipio').attr('disabled','disabled');
  388 + $j('#bairro').val('');
  389 + $j('#zona_localizacao').val('');
  390 + $j('#bairro_bairro').val('');
  391 + $j('#logradouro_logradouro').val('');
  392 + $j('#idtlog').val('');
  393 + $j('#logradouro').val('');
  394 + $j('#bairro_id').val('');
  395 + $j('#logradouro_id').val('');
  396 + $j('#municipio_municipio').val('');
  397 + $j('#municipio_id').val('');
  398 +}
  399 +// Verifica se o formato do cep é válido
  400 +function checkCepFields(cep) {
  401 + var regexp = /[0-9]{5}\-[0-9]{3}/;
  402 + var valid = regexp.test(cep);
  403 + return valid;
  404 +}
  405 +
  406 +// Eventos que escondem//apagam campos não usados na alternância entre cadastro/busca
  407 +function bloqueiaCadastroBairro(){
  408 + if (checkCepFields($j('#cep_').val())){
  409 + $j('#bairro').closest('tr').hide();
  410 + $j('#bairro_bairro').closest('tr').show();
  411 + $j('#zona_localizacao').val('');
  412 + $j('#bairro').val('');
  413 + }
  414 +}
  415 +
  416 +function bloqueiaBuscaBairro(){
  417 + if (checkCepFields($j('#cep_').val())){
  418 + $j('#bairro_bairro').closest('tr').hide();
  419 + $j('#bairro').closest('tr').show();
  420 + $j('#bairro_bairro').val('');
  421 + $j('#bairro_id').val('');
  422 + }
  423 +}
  424 +
  425 +function bloqueiaCadastroLogradouro(){
  426 + if (checkCepFields($j('#cep_').val())){
  427 + $j('#idtlog').closest('tr').hide();
  428 + $j('#logradouro_logradouro').closest('tr').show();
  429 + $j('#idtlog').val('');
  430 + $j('#logradouro').val('');
  431 + }
  432 +}
  433 +
  434 +function bloqueiaBuscaLogradouro(){
  435 + if (checkCepFields($j('#cep_').val())){
  436 + $j('#logradouro_logradouro').closest('tr').hide();
  437 + $j('#idtlog').closest('tr').show();
  438 + $j('#logradouro_logradouro').val('');
  439 + $j('#logradouro_id').val('');
  440 + }
  441 +}
  442 +
  443 +// Dispara evento para buscar CEP quando o mesmo for preenchido sem utilizar a lupa
  444 +$j('#cep_').keyup(searchCep);
  445 +$j('#cep_').change(searchCep);
  446 +
  447 +// Limpa campos logradouro e bairro simpleSearch
  448 +function clearLogradouroAndBairroFields(){
  449 + $j('#logradouro_logradouro').val('');
  450 + $j('#logradouro_id').val('');
  451 + $j('#bairro_bairro').val('');
  452 + $j('#bairro_id').val('');
  453 +}
  454 +
  455 +// Adiciona links para Informar/Atualizar troca entre cadastro ou busca
  456 +function addLinksEnderecamento(){
  457 + $j('<span>') .html('ou cadastre um novo bairro')
  458 + .attr('id', 'span-busca-bairro')
  459 + .css('color','blue')
  460 + .css('margin-left','5px')
  461 + .addClass('decorated')
  462 + .appendTo($j('#bairro_bairro').closest('td'));
  463 +
  464 + $j('<span>').html('ou busque um bairro existente')
  465 + .attr('id', 'span-cad-bairro')
  466 + .css('color','blue')
  467 + .css('margin-left','5px')
  468 + .addClass('decorated')
  469 + .appendTo($j('#zona_localizacao').closest('td'));
  470 +
  471 + $j('<span>').html('ou cadastre um novo logradouro')
  472 + .attr('id', 'span-busca-logradouro')
  473 + .css('color','blue')
  474 + .css('margin-left','5px')
  475 + .addClass('decorated')
  476 + .appendTo($j('#logradouro_logradouro').closest('td'));
  477 +
  478 + $j('<span>').html('ou busque logradouro existente')
  479 + .attr('id', 'span-cad-logradouro')
  480 + .css('color','blue')
  481 + .css('margin-left','5px')
  482 + .addClass('decorated')
  483 + .appendTo($j('#idtlog').closest('td'));
  484 +}
  485 +
  486 +addLinksEnderecamento();
  487 +
  488 +// Dispara evento para alterar entre Cadastro/Busca
  489 +$j('#span-busca-bairro').click(bloqueiaBuscaBairro);
  490 +$j('#span-cad-bairro').click(bloqueiaCadastroBairro);
  491 +$j('#span-busca-logradouro').click(bloqueiaBuscaLogradouro);
  492 +$j('#span-cad-logradouro').click(bloqueiaCadastroLogradouro);
  493 +
  494 +// Altera zebrado para não interferir quando for trocado entre cadastro/busca de bairro/logradouro
  495 +function alteraZebradoEnderacamento(){
  496 + if ($j('#bairro').closest('td').hasClass('formmdtd'))
  497 + $j('#bairro').closest('tr').find('td').toggleClass('formmdtd formlttd');
  498 + else
  499 + $j('#bairro').closest('tr').find('td').toggleClass('formlttd formmdtd');
  500 +
  501 + if ($j('#logradouro_logradouro').closest('td').hasClass('formmdtd'))
  502 + $j('#logradouro_logradouro').closest('tr').find('td').toggleClass('formmdtd formlttd');
  503 + else
  504 + $j('#logradouro_logradouro').closest('tr').find('td').toggleClass('formlttd formmdtd');
  505 +}
  506 +
  507 +alteraZebradoEnderacamento();
  508 +
  509 +// Correções para apagarem o valor do campo ID quando for deletado o valor do simpleSearch
  510 +$j('#municipio_municipio').keyup( function(){
  511 + if ($j('#municipio_municipio').val() == '')
  512 + $j('#municipio_id').val('').trigger('change');
  513 +});
  514 +
  515 +$j('#bairro_bairro').focusout( function(){
  516 + if ($j('#bairro_bairro').val() == '')
  517 + $j('#bairro_id').val('');
  518 +});
  519 +
  520 +$j('#logradouro_logradouro').focusout( function(){
  521 + if ($j('#logradouro_logradouro').val() == '')
  522 + $j('#logradouro_id').val('');
  523 +});
  524 +
  525 +/* Como os campos SimpleSearchBairro e SimpleSearchLogradouro dependem do valor do municipio_id,
  526 + quando o mesmo for alterado dispara um evento para apagar esses campos dependentes */
  527 +$j('#municipio_id').change(clearLogradouroAndBairroFields);
  528 +
  529 +function fixUpPlaceholderEndereco(){
  530 + $j('#municipio_municipio').attr('placeholder' , 'Digite o nome de um munic\u00edpio para buscar');
  531 + $j('#bairro_bairro').attr('placeholder' , 'Digite o nome de um bairro para buscar');
  532 + $j('#logradouro_logradouro').attr('placeholder' , 'Digite o nome de um logradouro para buscar');
  533 + $j('#bairro').attr('placeholder' , 'Digite o nome do novo bairro');
  534 + $j('#logradouro').attr('placeholder' , 'Digite o nome do novo logradouro');
  535 +}
  536 +
  537 +function validateEndereco(){
  538 +
  539 + var err = false;
  540 +
  541 + if (!$j('#municipio_id').val()){
  542 + $j('#municipio_municipio').addClass('error');
  543 + $j('#municipio_id').addClass('error');
  544 + err = true;
  545 + }
  546 +
  547 + if ($j('#logradouro_logradouro').closest('tr').is(':visible')){
  548 +
  549 + if (!$j('#logradouro_id').val()){
  550 + $j('#logradouro_logradouro').addClass('error');
  551 + $j('#logradouro_id').addClass('error');
  552 + err = true;
  553 + }
  554 + }else{
  555 + if (!$j('#logradouro').val()){
  556 + $j('#logradouro').addClass('error');
  557 + err = true;
  558 + }
  559 + if (!$j('#idtlog').val()){
  560 + $j('#idtlog').addClass('error');
  561 + err = true;
  562 + }
  563 + }
  564 + if ($j('#bairro_bairro').closest('tr').is(':visible')){
  565 + if (!$j('#bairro_id').val()){
  566 + $j('#bairro_bairro').addClass('error');
  567 + $j('#bairro_id').addClass('error');
  568 + err = true;
  569 + }
  570 +
  571 + }else{
  572 +
  573 + if (!$j('#bairro').val()){
  574 + $j('#bairro').addClass('error');
  575 + err = true;
  576 + }
  577 +
  578 + if (!$j('#zona_localizacao').val()){
  579 + $j('#zona_localizacao').addClass('error');
  580 + err = true;
  581 + }
  582 + }
  583 +
  584 + return !err;
  585 +
  586 +}
  587 +
  588 +// --------------------------------- FIM SCRIPTS ENDEREÇAMENTO ---------------------------------------- //
ieducar/modules/Portabilis/Assets/Javascripts/Frontend/Inputs/Resource/SimpleSearchBairro.js 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +var simpleSearchBairroOptions = {
  2 +
  3 + params : {
  4 + municipio_id : function() {
  5 + return $j('#municipio_id').val()
  6 + }
  7 + },
  8 +
  9 + canSearch : function() {
  10 +
  11 + if (! $j('#municipio_id').val()) {
  12 + alert('Selecione um munic\u00edpio.');
  13 + return false;
  14 + }
  15 +
  16 + return true;
  17 + }
  18 +};
0 \ No newline at end of file 19 \ No newline at end of file
ieducar/modules/Portabilis/Assets/Javascripts/Frontend/Inputs/Resource/SimpleSearchLogradouro.js 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +var simpleSearchLogradouroOptions = {
  2 +
  3 + params : {
  4 + municipio_id : function() {
  5 + return $j('#municipio_id').val()
  6 + }
  7 + },
  8 +
  9 + canSearch : function() {
  10 +
  11 + if (! $j('#municipio_id').val()) {
  12 + alert('Selecione um munic\u00edpio.');
  13 + return false;
  14 + }
  15 +
  16 + return true;
  17 + }
  18 +};
0 \ No newline at end of file 19 \ No newline at end of file
ieducar/modules/Portabilis/Assets/Version.php
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 5
6 class Portabilis_Assets_Version { 6 class Portabilis_Assets_Version {
7 7
8 - const VERSION = '11'; 8 + const VERSION = '12';
9 9
10 } 10 }
11 ?> 11 ?>