Commit c66fdfeff2cc9dee3bdd12e9037fab8d8aaf4f82
1 parent
897ce8af
Exists in
master
Melhorado cadastro de nova pessoa física, sem CPF closes #5
Showing
9 changed files
with
495 additions
and
328 deletions
Show diff stats
ieducar/intranet/atendidos_cad.php
@@ -37,8 +37,9 @@ require_once 'include/pmieducar/clsPmieducarAluno.inc.php'; | @@ -37,8 +37,9 @@ require_once 'include/pmieducar/clsPmieducarAluno.inc.php'; | ||
37 | 37 | ||
38 | require_once 'App/Model/ZonaLocalizacao.php'; | 38 | require_once 'App/Model/ZonaLocalizacao.php'; |
39 | 39 | ||
40 | -require_once 'lib/Portabilis/String/Utils.php'; | ||
41 | -require_once 'lib/Portabilis/View/Helper/Application.php'; | 40 | +require_once 'Portabilis/String/Utils.php'; |
41 | +require_once 'Portabilis/View/Helper/Application.php'; | ||
42 | +require_once 'Portabilis/Utils/Validation.php'; | ||
42 | 43 | ||
43 | /** | 44 | /** |
44 | * clsIndex class. | 45 | * clsIndex class. |
@@ -109,36 +110,12 @@ class indice extends clsCadastro | @@ -109,36 +110,12 @@ class indice extends clsCadastro | ||
109 | 110 | ||
110 | function Inicializar() | 111 | function Inicializar() |
111 | { | 112 | { |
112 | - if ($_REQUEST['busca_pessoa']) { | ||
113 | - $this->retorno = 'Novo'; | 113 | + $this->cod_pessoa_fj = @$_GET['cod_pessoa_fj']; |
114 | + $this->retorno = 'Novo'; | ||
114 | 115 | ||
115 | - $cpf = idFederal2int($_REQUEST['busca_pessoa']); | ||
116 | - | ||
117 | - $this->busca_pessoa = $cpf; | ||
118 | - $this->id_federal = $cpf; | ||
119 | - | ||
120 | - $objPessoa = new clsPessoaFisica(FALSE, $cpf); | ||
121 | - $detalhePessoa = $objPessoa->detalhe(); | ||
122 | - | ||
123 | - $this->cod_pessoa_fj = $detalhePessoa["idpes"]; | ||
124 | - } | ||
125 | - elseif ($_REQUEST['cod_pessoa_fj'] != '') { | ||
126 | - $this->busca_pessoa = TRUE; | ||
127 | - | ||
128 | - if ($_REQUEST['cod_pessoa_fj'] != 0) { | ||
129 | - $this->cod_pessoa_fj = $_REQUEST['cod_pessoa_fj']; | ||
130 | - } | ||
131 | - else { | ||
132 | - $this->retorno = 'Novo'; | ||
133 | - } | ||
134 | - } | ||
135 | - | ||
136 | - if ($this->cod_pessoa_fj) { | ||
137 | - $this->cod_pessoa_fj = @$_GET['cod_pessoa'] ? | ||
138 | - @$_GET['cod_pessoa'] : $this->cod_pessoa_fj; | ||
139 | - | ||
140 | - $db = new clsBanco(); | ||
141 | - $objPessoa = new clsPessoaFisica(); | 116 | + if (is_numeric($this->cod_pessoa_fj)) { |
117 | + $this->retorno = 'Editar'; | ||
118 | + $objPessoa = new clsPessoaFisica(); | ||
142 | 119 | ||
143 | list($this->nm_pessoa, $this->id_federal, $this->data_nasc, | 120 | list($this->nm_pessoa, $this->id_federal, $this->data_nasc, |
144 | $this->ddd_telefone_1, $this->telefone_1, $this->ddd_telefone_2, | 121 | $this->ddd_telefone_1, $this->telefone_1, $this->ddd_telefone_2, |
@@ -160,19 +137,17 @@ class indice extends clsCadastro | @@ -160,19 +137,17 @@ class indice extends clsCadastro | ||
160 | 'idpais_estrangeiro', 'idmun_nascimento' | 137 | 'idpais_estrangeiro', 'idmun_nascimento' |
161 | ); | 138 | ); |
162 | 139 | ||
140 | + $this->id_federal = is_numeric($this->id_federal) ? int2CPF($this->id_federal) : ''; | ||
141 | + $this->cep = is_numeric($this->cep) ? int2Cep($this->cep) : ''; | ||
142 | + $this->data_nasc = $this->data_nasc ? dataFromPgToBr($this->data_nasc) : ''; | ||
143 | + | ||
163 | $this->estado_civil_id = $this->estado_civil->ideciv; | 144 | $this->estado_civil_id = $this->estado_civil->ideciv; |
164 | $this->pais_origem_id = $this->pais_origem->idpais; | 145 | $this->pais_origem_id = $this->pais_origem->idpais; |
165 | $this->naturalidade_id = $this->naturalidade->idmun; | 146 | $this->naturalidade_id = $this->naturalidade->idmun; |
166 | 147 | ||
167 | - // Cor/Raça. | ||
168 | - $raca = new clsCadastroFisicaRaca($this->cod_pessoa_fj); | ||
169 | - $raca = $raca->detalhe(); | ||
170 | - if (is_array($raca)) { | ||
171 | - $this->cod_raca = $raca['ref_cod_raca']; | ||
172 | - } | ||
173 | - | ||
174 | - $this->cep = int2Cep($this->cep); | ||
175 | - $this->retorno = 'Editar'; | 148 | + $raca = new clsCadastroFisicaRaca($this->cod_pessoa_fj); |
149 | + $raca = $raca->detalhe(); | ||
150 | + $this->cod_raca = is_array($raca) ? $raca['ref_cod_raca'] : null; | ||
176 | } | 151 | } |
177 | 152 | ||
178 | $this->nome_url_cancelar = 'Cancelar'; | 153 | $this->nome_url_cancelar = 'Cancelar'; |
@@ -182,284 +157,250 @@ class indice extends clsCadastro | @@ -182,284 +157,250 @@ class indice extends clsCadastro | ||
182 | 157 | ||
183 | function Gerar() | 158 | function Gerar() |
184 | { | 159 | { |
185 | - $this->addBanner('imagens/nvp_top_intranet.jpg', | ||
186 | - 'imagens/nvp_vert_intranet.jpg', 'Intranet', FALSE); | ||
187 | - | ||
188 | - if (! $this->busca_pessoa) { | ||
189 | - $this->campoOculto('cod_pessoa_fj', ''); | ||
190 | - | ||
191 | - $parametros = new clsParametrosPesquisas(); | ||
192 | - $parametros->setSubmit(1); | ||
193 | - $parametros->adicionaCampoTexto('busca_pessoa', 'id_federal'); | ||
194 | - $parametros->adicionaCampoTexto('cod_pessoa_fj', 'idpes'); | ||
195 | - $parametros->setPessoa('F'); | ||
196 | - $parametros->setPessoaCampo('cod_pessoa_fj'); | ||
197 | - $parametros->setPessoaNovo('S'); | ||
198 | - $parametros->setPessoaTela('window'); | ||
199 | - | ||
200 | - $html = sprintf( | ||
201 | - '<img id="lupa" src="imagens/lupa.png" border="0" ' . | ||
202 | - "onclick=\"showExpansivel(500, 500, '<iframe name=\'miolo\' id=\'miolo\' frameborder=\'0\' height=\'100%%\' width=\'500\' marginheight=\'0\' marginwidth=\'0\' src=\'pesquisa_pessoa_lst.php?campos=%s\'></iframe>');\"". | ||
203 | - '>', | ||
204 | - $parametros->serializaCampos() | ||
205 | - ); | 160 | + $this->url_cancelar = $this->retorno == 'Editar' ? |
161 | + 'atendidos_det.php?cod_pessoa=' . $this->cod_pessoa_fj : 'atendidos_lst.php'; | ||
206 | 162 | ||
207 | - $this->campoCpf('busca_pessoa', 'CPF', $this->ref_cod_pessoa_fj, TRUE, | ||
208 | - $html, FALSE, TRUE); | ||
209 | - } | ||
210 | - else { | ||
211 | - $this->campoOculto('busca_pessoa', $this->busca_pessoa); | 163 | + $this->campoOculto('cod_pessoa_fj', $this->cod_pessoa_fj); |
164 | + $this->campoTexto('nm_pessoa', 'Nome', $this->nm_pessoa, '50', '255', TRUE); | ||
212 | 165 | ||
213 | - $this->url_cancelar = $this->retorno == 'Editar' ? | ||
214 | - 'atendidos_det.php?cod_pessoa=' . $this->cod_pessoa_fj : 'atendidos_lst.php'; | 166 | + $this->campoCpf('id_federal', 'CPF', $this->id_federal, FALSE); |
215 | 167 | ||
216 | - $this->campoOculto('cod_pessoa_fj', $this->cod_pessoa_fj); | ||
217 | - $this->campoTexto('nm_pessoa', 'Nome', $this->nm_pessoa, '50', '255', TRUE); | ||
218 | - | ||
219 | - if ($this->id_federal) { | ||
220 | - $this->campoRotulo('id_federal', 'CPF', int2CPF($this->id_federal)); | ||
221 | - } | ||
222 | - else { | ||
223 | - $this->campoCpf('id_federal', 'CPF', '', FALSE); | ||
224 | - } | ||
225 | - | ||
226 | - if ($this->data_nasc) { | ||
227 | - $this->data_nasc = dataFromPgToBr($this->data_nasc); | ||
228 | - } | 168 | + $this->campoData('data_nasc', 'Data de Nascimento', $this->data_nasc); |
229 | 169 | ||
230 | - $this->campoData('data_nasc', 'Data de Nascimento', $this->data_nasc); | 170 | + $lista_sexos = array(); |
171 | + $lista_sexos[''] = 'Escolha uma opção...'; | ||
172 | + $lista_sexos['M'] = 'Masculino'; | ||
173 | + $lista_sexos['F'] = 'Feminino'; | ||
174 | + $this->campoLista('sexo', 'Sexo', $lista_sexos, $this->sexo); | ||
231 | 175 | ||
232 | - $lista_sexos = array(); | ||
233 | - $lista_sexos[''] = 'Escolha uma opção...'; | ||
234 | - $lista_sexos['M'] = 'Masculino'; | ||
235 | - $lista_sexos['F'] = 'Feminino'; | ||
236 | - $this->campoLista('sexo', 'Sexo', $lista_sexos, $this->sexo); | 176 | + $this->inputsHelper()->estadoCivil(array('required' => false)); |
237 | 177 | ||
238 | - $this->inputsHelper()->estadoCivil(array('required' => false)); | 178 | + // pai, mãe |
239 | 179 | ||
240 | - // pai, mãe | 180 | + $this->addPaiInput(); |
181 | + $this->addMaeInput(); | ||
241 | 182 | ||
242 | - $this->addPaiInput(); | ||
243 | - $this->addMaeInput(); | 183 | + // Cor/raça. |
184 | + $opcoes_raca = array('' => 'Selecione'); | ||
185 | + $obj_raca = new clsCadastroRaca(); | ||
186 | + $lst_raca = $obj_raca->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, TRUE); | ||
244 | 187 | ||
245 | - // Cor/raça. | ||
246 | - $opcoes_raca = array('' => 'Selecione'); | ||
247 | - $obj_raca = new clsCadastroRaca(); | ||
248 | - $lst_raca = $obj_raca->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, TRUE); | ||
249 | - | ||
250 | - if ($lst_raca) { | ||
251 | - foreach ($lst_raca as $raca) { | ||
252 | - $opcoes_raca[$raca['cod_raca']] = $raca['nm_raca']; | ||
253 | - } | 188 | + if ($lst_raca) { |
189 | + foreach ($lst_raca as $raca) { | ||
190 | + $opcoes_raca[$raca['cod_raca']] = $raca['nm_raca']; | ||
254 | } | 191 | } |
192 | + } | ||
255 | 193 | ||
256 | - $this->campoLista('cor_raca', 'Raça', $opcoes_raca, | ||
257 | - $this->cod_raca, '', FALSE, '', '', '', FALSE); | 194 | + $this->campoLista('cor_raca', 'Raça', $opcoes_raca, |
195 | + $this->cod_raca, '', FALSE, '', '', '', FALSE); | ||
258 | 196 | ||
259 | - // nacionalidade | 197 | + // nacionalidade |
260 | 198 | ||
261 | - // tipos | ||
262 | - $tiposNacionalidade = array(null => 'Selecione', | ||
263 | - '1' => 'Brasileiro', | ||
264 | - '2' => 'Naturalizado brasileiro', | ||
265 | - '3' => 'Estrangeiro'); | 199 | + // tipos |
200 | + $tiposNacionalidade = array(null => 'Selecione', | ||
201 | + '1' => 'Brasileiro', | ||
202 | + '2' => 'Naturalizado brasileiro', | ||
203 | + '3' => 'Estrangeiro'); | ||
266 | 204 | ||
267 | - $options = array('label' => 'Nacionalidade', | ||
268 | - 'resources' => $tiposNacionalidade, | ||
269 | - 'required' => false, | ||
270 | - 'inline' => true, | ||
271 | - 'value' => $this->tipo_nacionalidade); | 205 | + $options = array('label' => 'Nacionalidade', |
206 | + 'resources' => $tiposNacionalidade, | ||
207 | + 'required' => false, | ||
208 | + 'inline' => true, | ||
209 | + 'value' => $this->tipo_nacionalidade); | ||
272 | 210 | ||
273 | - $this->inputsHelper()->select('tipo_nacionalidade', $options); | 211 | + $this->inputsHelper()->select('tipo_nacionalidade', $options); |
274 | 212 | ||
275 | - // pais origem | 213 | + // pais origem |
276 | 214 | ||
277 | - $options = array('label' => '', 'required' => true); | ||
278 | - $helperOptions = array('objectName' => 'pais_origem', | ||
279 | - 'hiddenInputOptions' => array('options' => array('value' => $this->pais_origem_id))); | 215 | + $options = array('label' => '', 'required' => true); |
216 | + $helperOptions = array('objectName' => 'pais_origem', | ||
217 | + 'hiddenInputOptions' => array('options' => array('value' => $this->pais_origem_id))); | ||
280 | 218 | ||
281 | - $this->inputsHelper()->simpleSearchPais('nome', $options, $helperOptions); | 219 | + $this->inputsHelper()->simpleSearchPais('nome', $options, $helperOptions); |
282 | 220 | ||
283 | 221 | ||
284 | - // naturalidade | 222 | + // naturalidade |
285 | 223 | ||
286 | - $options = array('label' => 'Naturalidade', 'required' => false); | ||
287 | - $helperOptions = array('objectName' => 'naturalidade', | ||
288 | - 'hiddenInputOptions' => array('options' => array('value' => $this->naturalidade_id))); | 224 | + $options = array('label' => 'Naturalidade', 'required' => false); |
225 | + $helperOptions = array('objectName' => 'naturalidade', | ||
226 | + 'hiddenInputOptions' => array('options' => array('value' => $this->naturalidade_id))); | ||
289 | 227 | ||
290 | - $this->inputsHelper()->simpleSearchMunicipio('nome', $options, $helperOptions); | 228 | + $this->inputsHelper()->simpleSearchMunicipio('nome', $options, $helperOptions); |
291 | 229 | ||
292 | 230 | ||
293 | - // Detalhes do Endereço | 231 | + // Detalhes do Endereço |
294 | 232 | ||
295 | - $objTipoLog = new clsTipoLogradouro(); | ||
296 | - $listaTipoLog = $objTipoLog->lista(); | ||
297 | - $listaTLog = array('0' => 'Selecione'); | 233 | + $objTipoLog = new clsTipoLogradouro(); |
234 | + $listaTipoLog = $objTipoLog->lista(); | ||
235 | + $listaTLog = array('0' => 'Selecione'); | ||
298 | 236 | ||
299 | - if ($listaTipoLog) { | ||
300 | - foreach ($listaTipoLog as $tipoLog) { | ||
301 | - $listaTLog[$tipoLog['idtlog']] = $tipoLog['descricao']; | ||
302 | - } | 237 | + if ($listaTipoLog) { |
238 | + foreach ($listaTipoLog as $tipoLog) { | ||
239 | + $listaTLog[$tipoLog['idtlog']] = $tipoLog['descricao']; | ||
303 | } | 240 | } |
241 | + } | ||
304 | 242 | ||
305 | - $objUf = new clsUf(); | ||
306 | - $listauf = $objUf->lista(); | ||
307 | - $listaEstado = array('0' => 'Selecione'); | 243 | + $objUf = new clsUf(); |
244 | + $listauf = $objUf->lista(); | ||
245 | + $listaEstado = array('0' => 'Selecione'); | ||
308 | 246 | ||
309 | - if ($listauf) { | ||
310 | - foreach ($listauf as $uf) { | ||
311 | - $listaEstado[$uf['sigla_uf']] = $uf['sigla_uf']; | ||
312 | - } | 247 | + if ($listauf) { |
248 | + foreach ($listauf as $uf) { | ||
249 | + $listaEstado[$uf['sigla_uf']] = $uf['sigla_uf']; | ||
313 | } | 250 | } |
251 | + } | ||
314 | 252 | ||
315 | - $this->campoOculto('idbai', $this->idbai); | ||
316 | - $this->campoOculto('idlog', $this->idlog); | ||
317 | - $this->campoOculto('cep', $this->cep); | ||
318 | - $this->campoOculto('ref_sigla_uf', $this->sigla_uf); | ||
319 | - $this->campoOculto('ref_idtlog', $this->idtlog); | ||
320 | - $this->campoOculto('id_cidade', $this->cidade); | 253 | + $this->campoOculto('idbai', $this->idbai); |
254 | + $this->campoOculto('idlog', $this->idlog); | ||
255 | + $this->campoOculto('cep', $this->cep); | ||
256 | + $this->campoOculto('ref_sigla_uf', $this->sigla_uf); | ||
257 | + $this->campoOculto('ref_idtlog', $this->idtlog); | ||
258 | + $this->campoOculto('id_cidade', $this->cidade); | ||
321 | 259 | ||
322 | - $zona = App_Model_ZonaLocalizacao::getInstance(); | 260 | + $zona = App_Model_ZonaLocalizacao::getInstance(); |
323 | 261 | ||
324 | - if ($this->idlog && $this->idbai && $this->cep && $this->cod_pessoa_fj) { | ||
325 | - $this->campoCep('cep_', 'CEP', $this->cep, true, '-', | ||
326 | - " <img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<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\'></iframe>');\">", | ||
327 | - TRUE); | 262 | + if ($this->idlog && $this->idbai && $this->cep && $this->cod_pessoa_fj) { |
263 | + $this->campoCep('cep_', 'CEP', $this->cep, true, '-', | ||
264 | + " <img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<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\'></iframe>');\">", | ||
265 | + TRUE); | ||
328 | 266 | ||
329 | - $this->campoLista('idtlog', 'Tipo Logradouro', $listaTLog, $this->idtlog, | ||
330 | - FALSE, FALSE, FALSE, FALSE, TRUE); | 267 | + $this->campoLista('idtlog', 'Tipo Logradouro', $listaTLog, $this->idtlog, |
268 | + FALSE, FALSE, FALSE, FALSE, TRUE); | ||
331 | 269 | ||
332 | - $this->campoTextoInv('logradouro', 'Logradouro', $this->logradouro, | ||
333 | - '50', '255', FALSE); | 270 | + $this->campoTextoInv('logradouro', 'Logradouro', $this->logradouro, |
271 | + '50', '255', FALSE); | ||
334 | 272 | ||
335 | - $this->campoTextoInv('cidade', 'Cidade', $this->cidade, '50', '255', | ||
336 | - FALSE); | 273 | + $this->campoTextoInv('cidade', 'Cidade', $this->cidade, '50', '255', |
274 | + FALSE); | ||
337 | 275 | ||
338 | - $this->campoTextoInv('bairro', 'Bairro', $this->bairro, '50', '255', FALSE); | 276 | + $this->campoTextoInv('bairro', 'Bairro', $this->bairro, '50', '255', FALSE); |
339 | 277 | ||
340 | - $this->campoTexto('complemento', 'Complemento', $this->complemento, '50', '255', | ||
341 | - FALSE); | 278 | + $this->campoTexto('complemento', 'Complemento', $this->complemento, '50', '255', |
279 | + FALSE); | ||
342 | 280 | ||
343 | - $this->campoTexto('numero', 'Número', $this->numero, '10', '10'); | 281 | + $this->campoTexto('numero', 'Número', $this->numero, '10', '10'); |
344 | 282 | ||
345 | - $this->campoTexto('letra', 'Letra', $this->letra, '1', '1', FALSE); | 283 | + $this->campoTexto('letra', 'Letra', $this->letra, '1', '1', FALSE); |
346 | 284 | ||
347 | - $this->campoTexto('apartamento', 'Número Apartamento', $this->apartamento, '6', '6', | ||
348 | - FALSE); | 285 | + $this->campoTexto('apartamento', 'Número Apartamento', $this->apartamento, '6', '6', |
286 | + FALSE); | ||
349 | 287 | ||
350 | - $this->campoTexto('bloco', 'Bloco', $this->bloco, '20', '20', FALSE); | ||
351 | - $this->campoTexto('andar', 'Andar', $this->andar, '2', '2', FALSE); | 288 | + $this->campoTexto('bloco', 'Bloco', $this->bloco, '20', '20', FALSE); |
289 | + $this->campoTexto('andar', 'Andar', $this->andar, '2', '2', FALSE); | ||
352 | 290 | ||
353 | - $this->campoLista('sigla_uf', 'Estado', $listaEstado, $this->sigla_uf, | ||
354 | - FALSE, FALSE, FALSE, FALSE, TRUE); | ||
355 | - } | ||
356 | - elseif($this->cod_pessoa_fj && $this->cep) { | ||
357 | - $this->campoCep('cep_', 'CEP', $this->cep, true, '-', | ||
358 | - " <img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<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\'></iframe>');\">", | ||
359 | - $disabled); | 291 | + $this->campoLista('sigla_uf', 'Estado', $listaEstado, $this->sigla_uf, |
292 | + FALSE, FALSE, FALSE, FALSE, TRUE); | ||
293 | + } | ||
294 | + elseif($this->cod_pessoa_fj && $this->cep) { | ||
295 | + $this->campoCep('cep_', 'CEP', $this->cep, true, '-', | ||
296 | + " <img id='lupa' src=\"imagens/lupa.png\" border=\"0\" onclick=\"showExpansivel( 500,500, '<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\'></iframe>');\">", | ||
297 | + $disabled); | ||
360 | 298 | ||
361 | - $this->campoLista('idtlog', 'Tipo Logradouro', $listaTLog, $this->idtlog); | 299 | + $this->campoLista('idtlog', 'Tipo Logradouro', $listaTLog, $this->idtlog); |
362 | 300 | ||
363 | - $this->campoTexto('logradouro', 'Logradouro', $this->logradouro, '50', | ||
364 | - '255', FALSE); | 301 | + $this->campoTexto('logradouro', 'Logradouro', $this->logradouro, '50', |
302 | + '255', FALSE); | ||
365 | 303 | ||
366 | - $this->campoTexto('cidade', 'Cidade', $this->cidade, '50', '255', FALSE); | 304 | + $this->campoTexto('cidade', 'Cidade', $this->cidade, '50', '255', FALSE); |
367 | 305 | ||
368 | - $this->campoTexto('bairro', 'Bairro', $this->bairro, '50', '255', FALSE); | 306 | + $this->campoTexto('bairro', 'Bairro', $this->bairro, '50', '255', FALSE); |
369 | 307 | ||
370 | - $this->campoTexto('complemento', 'Complemento', $this->complemento, '50', | ||
371 | - '255', FALSE); | 308 | + $this->campoTexto('complemento', 'Complemento', $this->complemento, '50', |
309 | + '255', FALSE); | ||
372 | 310 | ||
373 | - $this->campoTexto('numero', 'Número', $this->numero, '10', '10'); | 311 | + $this->campoTexto('numero', 'Número', $this->numero, '10', '10'); |
374 | 312 | ||
375 | - $this->campoTexto('letra', 'Letra', $this->letra, '1', '1', FALSE); | 313 | + $this->campoTexto('letra', 'Letra', $this->letra, '1', '1', FALSE); |
376 | 314 | ||
377 | - $this->campoTexto('apartamento', 'Número Apartamento', $this->apartamento, | ||
378 | - '6', '6', FALSE); | 315 | + $this->campoTexto('apartamento', 'Número Apartamento', $this->apartamento, |
316 | + '6', '6', FALSE); | ||
379 | 317 | ||
380 | - $this->campoTexto('bloco', 'Bloco', $this->bloco, '20', '20', FALSE); | 318 | + $this->campoTexto('bloco', 'Bloco', $this->bloco, '20', '20', FALSE); |
381 | 319 | ||
382 | - $this->campoTexto('andar', 'Andar', $this->andar, '2', '2', FALSE); | 320 | + $this->campoTexto('andar', 'Andar', $this->andar, '2', '2', FALSE); |
383 | 321 | ||
384 | - $this->campoLista('sigla_uf', 'Estado', $listaEstado, $this->sigla_uf); | ||
385 | - } | ||
386 | - else { | ||
387 | - $this->campoCep('cep_', 'CEP', $this->cep, TRUE, '-', | ||
388 | - " <img id='lupa' src=\"imagens/lupa.png\" border=\"0\" | ||
389 | - onclick=\"showExpansivel(500, 500, '<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>');\">", | ||
390 | - false | ||
391 | - ); | 322 | + $this->campoLista('sigla_uf', 'Estado', $listaEstado, $this->sigla_uf); |
323 | + } | ||
324 | + else { | ||
325 | + $this->campoCep('cep_', 'CEP', $this->cep, TRUE, '-', | ||
326 | + " <img id='lupa' src=\"imagens/lupa.png\" border=\"0\" | ||
327 | + onclick=\"showExpansivel(500, 500, '<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>');\">", | ||
328 | + false | ||
329 | + ); | ||
392 | 330 | ||
393 | - $this->campoLista('idtlog', 'Tipo Logradouro', $listaTLog, $this->idtlog, | ||
394 | - FALSE, FALSE, FALSE, FALSE, FALSE); | 331 | + $this->campoLista('idtlog', 'Tipo Logradouro', $listaTLog, $this->idtlog, |
332 | + FALSE, FALSE, FALSE, FALSE, FALSE); | ||
395 | 333 | ||
396 | - $this->campoTexto('logradouro', 'Logradouro', $this->logradouro, | ||
397 | - '50', '255'); | 334 | + $this->campoTexto('logradouro', 'Logradouro', $this->logradouro, |
335 | + '50', '255'); | ||
398 | 336 | ||
399 | - $this->campoTexto('cidade', 'Cidade', $this->cidade, '50', '255'); | 337 | + $this->campoTexto('cidade', 'Cidade', $this->cidade, '50', '255'); |
400 | 338 | ||
401 | - $this->campoTexto('bairro', 'Bairro', $this->bairro, '50', '255'); | 339 | + $this->campoTexto('bairro', 'Bairro', $this->bairro, '50', '255'); |
402 | 340 | ||
403 | - $this->campoTexto('complemento', 'Complemento', $this->complemento, | ||
404 | - '50', '255', FALSE); | 341 | + $this->campoTexto('complemento', 'Complemento', $this->complemento, |
342 | + '50', '255', FALSE); | ||
405 | 343 | ||
406 | - $this->campoTexto('numero', 'Número', $this->numero, '10', '10'); | 344 | + $this->campoTexto('numero', 'Número', $this->numero, '10', '10'); |
407 | 345 | ||
408 | - $this->campoTexto('letra', 'Letra', $this->letra, '1', '1', FALSE); | 346 | + $this->campoTexto('letra', 'Letra', $this->letra, '1', '1', FALSE); |
409 | 347 | ||
410 | - $this->campoTexto('apartamento', 'Número Apartamento', $this->apartamento, | ||
411 | - '6', '6', FALSE); | 348 | + $this->campoTexto('apartamento', 'Número Apartamento', $this->apartamento, |
349 | + '6', '6', FALSE); | ||
412 | 350 | ||
413 | - $this->campoTexto('bloco', 'Bloco', $this->bloco, '20', '20', FALSE); | 351 | + $this->campoTexto('bloco', 'Bloco', $this->bloco, '20', '20', FALSE); |
414 | 352 | ||
415 | - $this->campoTexto('andar', 'Andar', $this->andar, '2', '2', FALSE); | 353 | + $this->campoTexto('andar', 'Andar', $this->andar, '2', '2', FALSE); |
416 | 354 | ||
417 | - $this->campoLista('sigla_uf', 'Estado', $listaEstado, $this->sigla_uf, | ||
418 | - FALSE, FALSE, FALSE, FALSE, FALSE); | ||
419 | - } | 355 | + $this->campoLista('sigla_uf', 'Estado', $listaEstado, $this->sigla_uf, |
356 | + FALSE, FALSE, FALSE, FALSE, FALSE); | ||
357 | + } | ||
420 | 358 | ||
421 | - $this->campoLista('zona_localizacao', 'Zona Localização', $zona->getEnums(), | ||
422 | - $this->zona_localizacao, FALSE, FALSE, FALSE, FALSE, | ||
423 | - ($this->idbai ? TRUE : FALSE) | ||
424 | - ); | 359 | + $this->campoLista('zona_localizacao', 'Zona Localização', $zona->getEnums(), |
360 | + $this->zona_localizacao, FALSE, FALSE, FALSE, FALSE, | ||
361 | + ($this->idbai ? TRUE : FALSE) | ||
362 | + ); | ||
425 | 363 | ||
426 | - $this->campoTexto('ddd_telefone_1', 'DDD Telefone 1', $this->ddd_telefone_1, | ||
427 | - '3', '2', FALSE); | 364 | + $this->campoTexto('ddd_telefone_1', 'DDD Telefone 1', $this->ddd_telefone_1, |
365 | + '3', '2', FALSE); | ||
428 | 366 | ||
429 | - $this->campoTexto('telefone_1', 'Telefone 1', $this->telefone_1, '10', | ||
430 | - '15', FALSE); | 367 | + $this->campoTexto('telefone_1', 'Telefone 1', $this->telefone_1, '10', |
368 | + '15', FALSE); | ||
431 | 369 | ||
432 | - $this->campoTexto('ddd_telefone_2', 'DDD Telefone 2', $this->ddd_telefone_2, | ||
433 | - '3', '2', FALSE); | 370 | + $this->campoTexto('ddd_telefone_2', 'DDD Telefone 2', $this->ddd_telefone_2, |
371 | + '3', '2', FALSE); | ||
434 | 372 | ||
435 | - $this->campoTexto('telefone_2', 'Telefone 2', $this->telefone_2, '10', | ||
436 | - '15', FALSE); | 373 | + $this->campoTexto('telefone_2', 'Telefone 2', $this->telefone_2, '10', |
374 | + '15', FALSE); | ||
437 | 375 | ||
438 | - $this->campoTexto('ddd_telefone_mov', 'DDD Celular', | ||
439 | - $this->ddd_telefone_mov, '3', '2', FALSE); | 376 | + $this->campoTexto('ddd_telefone_mov', 'DDD Celular', |
377 | + $this->ddd_telefone_mov, '3', '2', FALSE); | ||
440 | 378 | ||
441 | - $this->campoTexto('telefone_mov', 'Celular', $this->telefone_mov, '10', | ||
442 | - '15', FALSE); | 379 | + $this->campoTexto('telefone_mov', 'Celular', $this->telefone_mov, '10', |
380 | + '15', FALSE); | ||
443 | 381 | ||
444 | - $this->campoTexto('ddd_telefone_fax', 'DDD Fax', $this->ddd_telefone_fax, | ||
445 | - '3', '2', FALSE); | 382 | + $this->campoTexto('ddd_telefone_fax', 'DDD Fax', $this->ddd_telefone_fax, |
383 | + '3', '2', FALSE); | ||
446 | 384 | ||
447 | - $this->campoTexto('telefone_fax', 'Fax', $this->telefone_fax, '10', '15', | ||
448 | - FALSE); | 385 | + $this->campoTexto('telefone_fax', 'Fax', $this->telefone_fax, '10', '15', |
386 | + FALSE); | ||
449 | 387 | ||
450 | - $this->campoTexto('http', 'Site', $this->http, '50', '255', FALSE); | 388 | + $this->campoTexto('http', 'Site', $this->http, '50', '255', FALSE); |
451 | 389 | ||
452 | - $this->campoTexto('email', 'E-mail', $this->email, '50', '255', FALSE); | 390 | + $this->campoTexto('email', 'E-mail', $this->email, '50', '255', FALSE); |
453 | 391 | ||
454 | - if ($this->cod_pessoa_fj) { | ||
455 | - $this->campoRotulo('documentos', '<b><i>Documentos</i></b>', | ||
456 | - "<a href='#' onclick=\"windowUtils.open('adicionar_documentos_cad.php?id_pessoa={$this->cod_pessoa_fj}'); \"><img src='imagens/nvp_bot_ad_doc.png' border='0'></a>"); | 392 | + if ($this->cod_pessoa_fj) { |
393 | + $this->campoRotulo('documentos', '<b><i>Documentos</i></b>', | ||
394 | + "<a href='#' onclick=\"windowUtils.open('adicionar_documentos_cad.php?id_pessoa={$this->cod_pessoa_fj}'); \"><img src='imagens/nvp_bot_ad_doc.png' border='0'></a>"); | ||
457 | 395 | ||
458 | - $this->campoCheck('alterado', 'Alterado', $this->alterado); | ||
459 | - } | 396 | + $this->campoCheck('alterado', 'Alterado', $this->alterado); |
460 | } | 397 | } |
461 | 398 | ||
462 | - $styles = array('/modules/Portabilis/Assets/Stylesheets/Frontend.css'); | 399 | + $styles = array( |
400 | + '/modules/Portabilis/Assets/Stylesheets/Frontend.css', | ||
401 | + '/modules/Portabilis/Assets/Stylesheets/Frontend/Resource.css' | ||
402 | + ); | ||
403 | + | ||
463 | Portabilis_View_Helper_Application::loadStylesheet($this, $styles); | 404 | Portabilis_View_Helper_Application::loadStylesheet($this, $styles); |
464 | 405 | ||
465 | $script = "/modules/Cadastro/Assets/Javascripts/PessoaFisica.js"; | 406 | $script = "/modules/Cadastro/Assets/Javascripts/PessoaFisica.js"; |
@@ -468,37 +409,17 @@ class indice extends clsCadastro | @@ -468,37 +409,17 @@ class indice extends clsCadastro | ||
468 | 409 | ||
469 | function Novo() | 410 | function Novo() |
470 | { | 411 | { |
471 | - @session_start(); | ||
472 | - $pessoaFj = $_SESSION['id_pessoa']; | ||
473 | - session_write_close(); | ||
474 | - | ||
475 | - $db = new clsBanco(); | ||
476 | - $db2 = new clsBanco(); | ||
477 | 412 | ||
478 | - $ref_cod_sistema = FALSE; | ||
479 | - | ||
480 | - if ($this->id_federal) { | ||
481 | - $this->id_federal = idFederal2int($this->id_federal); | ||
482 | - | ||
483 | - $objCPF = new clsFisica(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, | ||
484 | - FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, | ||
485 | - FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, $this->id_federal); | ||
486 | - | ||
487 | - $detalhe_fisica = $objCPF->detalhe(); | ||
488 | - if ($detalhe_fisica['cpf']) { | ||
489 | - $this->erros['id_federal'] = 'CPF já cadastrado.'; | ||
490 | - return FALSE; | ||
491 | - } | ||
492 | - } | 413 | + if (! $this->validatesCpf($this->id_federal)) |
414 | + return false; | ||
493 | 415 | ||
494 | // pessoa | 416 | // pessoa |
495 | 417 | ||
496 | - $objPessoa = new clsPessoa_(FALSE, $this->nm_pessoa, $pessoaFj, $this->http, | ||
497 | - 'F', FALSE, FALSE, $this->email); | 418 | + $objPessoa = new clsPessoa_(FALSE, $this->nm_pessoa, $this->currentUserId(), $this->http, |
419 | + 'F', FALSE, FALSE, $this->email); | ||
498 | 420 | ||
499 | $idpes = $objPessoa->cadastra(); | 421 | $idpes = $objPessoa->cadastra(); |
500 | 422 | ||
501 | - | ||
502 | // pessoa fisica | 423 | // pessoa fisica |
503 | 424 | ||
504 | $fisica = new clsFisica(); | 425 | $fisica = new clsFisica(); |
@@ -507,7 +428,7 @@ class indice extends clsCadastro | @@ -507,7 +428,7 @@ class indice extends clsCadastro | ||
507 | $fisica->data_nasc = dataToBanco($this->data_nasc); | 428 | $fisica->data_nasc = dataToBanco($this->data_nasc); |
508 | $fisica->sexo = $this->sexo; | 429 | $fisica->sexo = $this->sexo; |
509 | $fisica->ref_cod_sistema = 'NULL'; | 430 | $fisica->ref_cod_sistema = 'NULL'; |
510 | - $fisica->cpf = $this->id_federal; | 431 | + $fisica->cpf = idFederal2int($this->id_federal); |
511 | $fisica->ideciv = $this->estado_civil_id; | 432 | $fisica->ideciv = $this->estado_civil_id; |
512 | $fisica->idpes_pai = $this->pai_id; | 433 | $fisica->idpes_pai = $this->pai_id; |
513 | $fisica->idpes_mae = $this->mae_id; | 434 | $fisica->idpes_mae = $this->mae_id; |
@@ -570,32 +491,14 @@ class indice extends clsCadastro | @@ -570,32 +491,14 @@ class indice extends clsCadastro | ||
570 | 491 | ||
571 | function Editar() | 492 | function Editar() |
572 | { | 493 | { |
573 | - @session_start(); | ||
574 | - $pessoaFj = $_SESSION['id_pessoa']; | ||
575 | - session_write_close(); | ||
576 | - | ||
577 | - if ($this->id_federal) { | ||
578 | - $this->id_federal = idFederal2int($this->id_federal); | ||
579 | - | ||
580 | - $objFisicaCpf = new clsFisica($this->cod_pessoa_fj); | ||
581 | - $detalhe_fisica = $objFisicaCpf->detalhe(); | ||
582 | - | ||
583 | - if (! $detalhe_fisica['cpf']) { | ||
584 | - $objCPF = new clsFisica(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, | ||
585 | - FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, | ||
586 | - FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, $this->id_federal); | ||
587 | - | ||
588 | - if ($objCPF->detalhe()) { | ||
589 | - $this->erros['id_federal'] = 'CPF já cadastrado.'; | ||
590 | - return FALSE; | ||
591 | - } | ||
592 | - } | ||
593 | - } | 494 | + if (! $this->validatesCpf($this->id_federal)) |
495 | + return false; | ||
594 | 496 | ||
595 | // pessoa | 497 | // pessoa |
596 | 498 | ||
597 | $objPessoa = new clsPessoa_($this->cod_pessoa_fj, $this->nm_pessoa, FALSE, | 499 | $objPessoa = new clsPessoa_($this->cod_pessoa_fj, $this->nm_pessoa, FALSE, |
598 | - $this->p_http, FALSE, $pessoaFj, date('Y-m-d H:i:s', time()), $this->email); | 500 | + $this->p_http, FALSE, $this->currentUserId(), |
501 | + date('Y-m-d H:i:s', time()), $this->email); | ||
599 | 502 | ||
600 | $objPessoa->edita(); | 503 | $objPessoa->edita(); |
601 | 504 | ||
@@ -607,7 +510,7 @@ class indice extends clsCadastro | @@ -607,7 +510,7 @@ class indice extends clsCadastro | ||
607 | $fisica->data_nasc = dataToBanco($this->data_nasc); | 510 | $fisica->data_nasc = dataToBanco($this->data_nasc); |
608 | $fisica->sexo = $this->sexo; | 511 | $fisica->sexo = $this->sexo; |
609 | $fisica->ref_cod_sistema = 'NULL'; | 512 | $fisica->ref_cod_sistema = 'NULL'; |
610 | - $fisica->cpf = $this->id_federal; | 513 | + $fisica->cpf = $this->id_federal ? idFederal2int($this->id_federal) : 'NULL'; |
611 | $fisica->ideciv = $this->estado_civil_id; | 514 | $fisica->ideciv = $this->estado_civil_id; |
612 | 515 | ||
613 | $fisica->idpes_pai = $this->pai_id; | 516 | $fisica->idpes_pai = $this->pai_id; |
@@ -759,6 +662,30 @@ class indice extends clsCadastro | @@ -759,6 +662,30 @@ class indice extends clsCadastro | ||
759 | 662 | ||
760 | $this->inputsHelper()->simpleSearchPessoa('nome', $options, $helperOptions); | 663 | $this->inputsHelper()->simpleSearchPessoa('nome', $options, $helperOptions); |
761 | } | 664 | } |
665 | + | ||
666 | + protected function validatesCpf($cpf) { | ||
667 | + $isValid = true; | ||
668 | + | ||
669 | + if ($cpf && ! Portabilis_Utils_Validation::validatesCpf($cpf)) { | ||
670 | + $this->erros['id_federal'] = 'CPF inválido.'; | ||
671 | + $isValid = false; | ||
672 | + } | ||
673 | + elseif($cpf) { | ||
674 | + $fisica = new clsFisica(); | ||
675 | + $fisica->cpf = idFederal2int($cpf); | ||
676 | + $fisica = $fisica->detalhe(); | ||
677 | + | ||
678 | + if ($fisica['cpf'] && $this->cod_pessoa_fj != $fisica['idpes']) { | ||
679 | + $link = "<a class='decorated' target='__blank' href='/intranet/atendidos_cad.php?cod_pessoa_fj=" . | ||
680 | + "{$fisica['idpes']}'>{$fisica['idpes']}</a>"; | ||
681 | + | ||
682 | + $this->erros['id_federal'] = "CPF já utilizado pela pessoa $link."; | ||
683 | + $isValid = false; | ||
684 | + } | ||
685 | + } | ||
686 | + | ||
687 | + return $isValid; | ||
688 | + } | ||
762 | } | 689 | } |
763 | 690 | ||
764 | // Instancia objeto de página | 691 | // Instancia objeto de página |
ieducar/intranet/include/clsBase.inc.php
@@ -49,8 +49,8 @@ require_once 'include/Geral.inc.php'; | @@ -49,8 +49,8 @@ require_once 'include/Geral.inc.php'; | ||
49 | require_once 'include/pmicontrolesis/geral.inc.php'; | 49 | require_once 'include/pmicontrolesis/geral.inc.php'; |
50 | require_once 'include/funcoes.inc.php'; | 50 | require_once 'include/funcoes.inc.php'; |
51 | 51 | ||
52 | -require_once 'lib/Portabilis/Utils/Database.php'; | ||
53 | -require_once 'lib/Portabilis/Utils/User.php'; | 52 | +require_once 'Portabilis/Utils/Database.php'; |
53 | +require_once 'Portabilis/Utils/User.php'; | ||
54 | 54 | ||
55 | require_once 'modules/Error/Mailers/NotificationMailer.php'; | 55 | require_once 'modules/Error/Mailers/NotificationMailer.php'; |
56 | 56 | ||
@@ -219,7 +219,7 @@ class clsBase extends clsConfig | @@ -219,7 +219,7 @@ class clsBase extends clsConfig | ||
219 | } | 219 | } |
220 | 220 | ||
221 | if ($processo_ap != 0) { | 221 | if ($processo_ap != 0) { |
222 | - $this->db()->Consulta("SELECT 1 FROM menu_funcionario WHERE ref_cod_menu_submenu = 0 AND ref_ref_cod_pessoa_fj = {$this->_currentUserId()}"); | 222 | + $this->db()->Consulta("SELECT 1 FROM menu_funcionario WHERE ref_cod_menu_submenu = 0 AND ref_ref_cod_pessoa_fj = {$this->currentUserId()}"); |
223 | if ($this->db()->ProximoRegistro()) { | 223 | if ($this->db()->ProximoRegistro()) { |
224 | list($aui) = $this->db()->Tupla(); | 224 | list($aui) = $this->db()->Tupla(); |
225 | $sempermissao = FALSE; | 225 | $sempermissao = FALSE; |
@@ -229,7 +229,7 @@ class clsBase extends clsConfig | @@ -229,7 +229,7 @@ class clsBase extends clsConfig | ||
229 | // permissão de acesso ao processo. Já a segunda, não existe | 229 | // permissão de acesso ao processo. Já a segunda, não existe |
230 | // sentido para nivel = 2 já que processoAp pode ser de níveis | 230 | // sentido para nivel = 2 já que processoAp pode ser de níveis |
231 | // maiores que 2. | 231 | // maiores que 2. |
232 | - $this->db()->Consulta("SELECT 1 FROM menu_funcionario WHERE (ref_cod_menu_submenu = {$processo_ap} AND ref_ref_cod_pessoa_fj = {$this->_currentUserId()}) OR (SELECT true FROM menu_submenu WHERE cod_menu_submenu = {$processo_ap} AND nivel = 2)"); | 232 | + $this->db()->Consulta("SELECT 1 FROM menu_funcionario WHERE (ref_cod_menu_submenu = {$processo_ap} AND ref_ref_cod_pessoa_fj = {$this->currentUserId()}) OR (SELECT true FROM menu_submenu WHERE cod_menu_submenu = {$processo_ap} AND nivel = 2)"); |
233 | if ($this->db()->ProximoRegistro()) { | 233 | if ($this->db()->ProximoRegistro()) { |
234 | list($aui) = $this->db()->Tupla(); | 234 | list($aui) = $this->db()->Tupla(); |
235 | $sempermissao = FALSE; | 235 | $sempermissao = FALSE; |
@@ -257,8 +257,8 @@ class clsBase extends clsConfig | @@ -257,8 +257,8 @@ class clsBase extends clsConfig | ||
257 | 257 | ||
258 | $variaveis = "POST\n{$posts}GET\n{$gets}SESSION\n{$sessions}"; | 258 | $variaveis = "POST\n{$posts}GET\n{$gets}SESSION\n{$sessions}"; |
259 | 259 | ||
260 | - if ($this->_currentUserId()) { | ||
261 | - $this->db()->Consulta("INSERT INTO intranet_segur_permissao_negada (ref_ref_cod_pessoa_fj, ip_externo, ip_interno, data_hora, pagina, variaveis) VALUES('{$this->_currentUserId()}', '$ip', '$ip_de_rede', NOW(), '$pagina', '$variaveis')"); | 260 | + if ($this->currentUserId()) { |
261 | + $this->db()->Consulta("INSERT INTO intranet_segur_permissao_negada (ref_ref_cod_pessoa_fj, ip_externo, ip_interno, data_hora, pagina, variaveis) VALUES('{$this->currentUserId()}', '$ip', '$ip_de_rede', NOW(), '$pagina', '$variaveis')"); | ||
262 | } | 262 | } |
263 | else { | 263 | else { |
264 | $this->db()->Consulta("INSERT INTO intranet_segur_permissao_negada (ref_ref_cod_pessoa_fj, ip_externo, ip_interno, data_hora, pagina, variaveis) VALUES(NULL, '$ip', '$ip_de_rede', NOW(), '$pagina', '$variaveis')"); | 264 | $this->db()->Consulta("INSERT INTO intranet_segur_permissao_negada (ref_ref_cod_pessoa_fj, ip_externo, ip_interno, data_hora, pagina, variaveis) VALUES(NULL, '$ip', '$ip_de_rede', NOW(), '$pagina', '$variaveis')"); |
@@ -544,7 +544,7 @@ class clsBase extends clsConfig | @@ -544,7 +544,7 @@ class clsBase extends clsConfig | ||
544 | $menu_dinamico = $this->makeBanner(); | 544 | $menu_dinamico = $this->makeBanner(); |
545 | 545 | ||
546 | $notificacao = ""; | 546 | $notificacao = ""; |
547 | - $this->db()->Consulta("SELECT cod_notificacao, titulo, conteudo, url FROM portal.notificacao WHERE ref_cod_funcionario = '{$this->_currentUserId()}' AND data_hora_ativa < NOW()"); | 547 | + $this->db()->Consulta("SELECT cod_notificacao, titulo, conteudo, url FROM portal.notificacao WHERE ref_cod_funcionario = '{$this->currentUserId()}' AND data_hora_ativa < NOW()"); |
548 | 548 | ||
549 | if ($this->db()->numLinhas()) { | 549 | if ($this->db()->numLinhas()) { |
550 | while ($this->db()->ProximoRegistro()) { | 550 | while ($this->db()->ProximoRegistro()) { |
@@ -560,18 +560,18 @@ class clsBase extends clsConfig | @@ -560,18 +560,18 @@ class clsBase extends clsConfig | ||
560 | </div>"; | 560 | </div>"; |
561 | } | 561 | } |
562 | $saida = str_replace( "<!-- #&NOTIFICACOES&# -->", $notificacao, $saida ); | 562 | $saida = str_replace( "<!-- #&NOTIFICACOES&# -->", $notificacao, $saida ); |
563 | - $this->db()->Consulta("UPDATE portal.notificacao SET visualizacoes = visualizacoes + 1 WHERE ref_cod_funcionario = '{$this->_currentUserId()}' AND data_hora_ativa < NOW()"); | 563 | + $this->db()->Consulta("UPDATE portal.notificacao SET visualizacoes = visualizacoes + 1 WHERE ref_cod_funcionario = '{$this->currentUserId()}' AND data_hora_ativa < NOW()"); |
564 | $this->db()->Consulta("DELETE FROM portal.notificacao WHERE visualizacoes > 10"); | 564 | $this->db()->Consulta("DELETE FROM portal.notificacao WHERE visualizacoes > 10"); |
565 | } | 565 | } |
566 | 566 | ||
567 | // nome completo usuario | 567 | // nome completo usuario |
568 | $nomePessoa = new clsPessoaFisica(); | 568 | $nomePessoa = new clsPessoaFisica(); |
569 | - list($nomePessoa) = $nomePessoa->queryRapida($this->_currentUserId(), "nome"); | 569 | + list($nomePessoa) = $nomePessoa->queryRapida($this->currentUserId(), "nome"); |
570 | $nomePessoa = ($nomePessoa) ? $nomePessoa : "<span style='color: #DD0000; '>Convidado</span>"; | 570 | $nomePessoa = ($nomePessoa) ? $nomePessoa : "<span style='color: #DD0000; '>Convidado</span>"; |
571 | 571 | ||
572 | 572 | ||
573 | // data ultimo acesso | 573 | // data ultimo acesso |
574 | - $ultimoAcesso = $this->db()->UnicoCampo("SELECT data_hora FROM acesso WHERE cod_pessoa = {$this->_currentUserId()} ORDER BY data_hora DESC LIMIT 1,1"); | 574 | + $ultimoAcesso = $this->db()->UnicoCampo("SELECT data_hora FROM acesso WHERE cod_pessoa = {$this->currentUserId()} ORDER BY data_hora DESC LIMIT 1,1"); |
575 | 575 | ||
576 | if($ultimoAcesso) | 576 | if($ultimoAcesso) |
577 | $ultimoAcesso = date("d/m/Y H:i", strtotime(substr($ultimoAcesso,0,19))); | 577 | $ultimoAcesso = date("d/m/Y H:i", strtotime(substr($ultimoAcesso,0,19))); |
@@ -595,7 +595,7 @@ class clsBase extends clsConfig | @@ -595,7 +595,7 @@ class clsBase extends clsConfig | ||
595 | $ip_maquina = $_SERVER['REMOTE_ADDR']; | 595 | $ip_maquina = $_SERVER['REMOTE_ADDR']; |
596 | } | 596 | } |
597 | 597 | ||
598 | - $sql = "UPDATE funcionario SET ip_logado = '$ip_maquina' , data_login = NOW() WHERE ref_cod_pessoa_fj = {$this->_currentUserId()}"; | 598 | + $sql = "UPDATE funcionario SET ip_logado = '$ip_maquina' , data_login = NOW() WHERE ref_cod_pessoa_fj = {$this->currentUserId()}"; |
599 | $this->db()->Consulta($sql); | 599 | $this->db()->Consulta($sql); |
600 | 600 | ||
601 | return $saida; | 601 | return $saida; |
@@ -844,7 +844,7 @@ class clsBase extends clsConfig | @@ -844,7 +844,7 @@ class clsBase extends clsConfig | ||
844 | return Portabilis_Utils_Database::db(); | 844 | return Portabilis_Utils_Database::db(); |
845 | } | 845 | } |
846 | 846 | ||
847 | - function _currentUserId() { | 847 | + protected function currentUserId() { |
848 | return Portabilis_Utils_User::currentUserId(); | 848 | return Portabilis_Utils_User::currentUserId(); |
849 | } | 849 | } |
850 | } | 850 | } |
ieducar/intranet/include/clsCadastro.inc.php
@@ -36,6 +36,7 @@ if (class_exists('clsPmiajudaPagina')) { | @@ -36,6 +36,7 @@ if (class_exists('clsPmiajudaPagina')) { | ||
36 | 36 | ||
37 | require_once 'Portabilis/View/Helper/Application.php'; | 37 | require_once 'Portabilis/View/Helper/Application.php'; |
38 | require_once 'Portabilis/View/Helper/Inputs.php'; | 38 | require_once 'Portabilis/View/Helper/Inputs.php'; |
39 | +require_once 'Portabilis/Utils/User.php'; | ||
39 | 40 | ||
40 | /** | 41 | /** |
41 | * clsCadastro class. | 42 | * clsCadastro class. |
@@ -731,4 +732,8 @@ class clsCadastro extends clsCampos | @@ -731,4 +732,8 @@ class clsCadastro extends clsCampos | ||
731 | 732 | ||
732 | return $this->_inputsHelper; | 733 | return $this->_inputsHelper; |
733 | } | 734 | } |
735 | + | ||
736 | + protected function currentUserId() { | ||
737 | + return Portabilis_Utils_User::currentUserId(); | ||
738 | + } | ||
734 | } | 739 | } |
ieducar/intranet/include/pessoa/clsFisica.inc.php
@@ -288,7 +288,7 @@ class clsFisica | @@ -288,7 +288,7 @@ class clsFisica | ||
288 | $campos .= ", nome_conjuge"; | 288 | $campos .= ", nome_conjuge"; |
289 | $valores .= ", '$this->nome_conjuge' "; | 289 | $valores .= ", '$this->nome_conjuge' "; |
290 | } | 290 | } |
291 | - if(is_string($this->nome-responsavel)) | 291 | + if(is_string($this->nome_responsavel)) |
292 | { | 292 | { |
293 | $campos .= ", nome_responsavel"; | 293 | $campos .= ", nome_responsavel"; |
294 | $valores .= ", '$this->nome_responsavel' "; | 294 | $valores .= ", '$this->nome_responsavel' "; |
@@ -459,20 +459,18 @@ class clsFisica | @@ -459,20 +459,18 @@ class clsFisica | ||
459 | $set .= "$gruda idpes_rev = '{$this->idpes_rev}'"; | 459 | $set .= "$gruda idpes_rev = '{$this->idpes_rev}'"; |
460 | $gruda = ", "; | 460 | $gruda = ", "; |
461 | } | 461 | } |
462 | - if($this->cpf) | ||
463 | - { | ||
464 | - $set .= "$gruda cpf = '{$this->cpf}'"; | 462 | + |
463 | + if($this->cpf) { | ||
464 | + $set .= "$gruda cpf = {$this->cpf}"; | ||
465 | $gruda = ", "; | 465 | $gruda = ", "; |
466 | } | 466 | } |
467 | 467 | ||
468 | - if(is_numeric($this->ref_cod_sistema) || $this->ref_cod_sistema == "NULL") | ||
469 | - { | 468 | + if(is_numeric($this->ref_cod_sistema) || $this->ref_cod_sistema == "NULL") { |
470 | $set .= "$gruda ref_cod_sistema = {$this->ref_cod_sistema}"; | 469 | $set .= "$gruda ref_cod_sistema = {$this->ref_cod_sistema}"; |
471 | $gruda = ", "; | 470 | $gruda = ", "; |
472 | } | 471 | } |
473 | 472 | ||
474 | - if(is_numeric($this->ref_cod_religiao)) | ||
475 | - { | 473 | + if(is_numeric($this->ref_cod_religiao)) { |
476 | $set .= "$gruda ref_cod_religiao = {$this->ref_cod_religiao}"; | 474 | $set .= "$gruda ref_cod_religiao = {$this->ref_cod_religiao}"; |
477 | $gruda = ", "; | 475 | $gruda = ", "; |
478 | } | 476 | } |
@@ -0,0 +1,80 @@ | @@ -0,0 +1,80 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +#error_reporting(E_ALL); | ||
4 | +#ini_set("display_errors", 1); | ||
5 | + | ||
6 | +/** | ||
7 | + * i-Educar - Sistema de gestão escolar | ||
8 | + * | ||
9 | + * Copyright (C) 2006 Prefeitura Municipal de Itajaí | ||
10 | + * <ctima@itajai.sc.gov.br> | ||
11 | + * | ||
12 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo | ||
13 | + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free | ||
14 | + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) | ||
15 | + * qualquer versão posterior. | ||
16 | + * | ||
17 | + * Este programa é distribuído na expectativa de que seja útil, porém, SEM | ||
18 | + * NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU | ||
19 | + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral | ||
20 | + * do GNU para mais detalhes. | ||
21 | + * | ||
22 | + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | ||
23 | + * com este programa; se não, escreva para a Free Software Foundation, Inc., no | ||
24 | + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
25 | + * | ||
26 | + * @author Lucas D'Avila <lucasdavila@portabilis.com.br> | ||
27 | + * @category i-Educar | ||
28 | + * @license @@license@@ | ||
29 | + * @package Portabilis | ||
30 | + * @since Arquivo disponível desde a versão 1.1.0 | ||
31 | + * @version $Id$ | ||
32 | + */ | ||
33 | + | ||
34 | +require_once 'lib/Portabilis/Utils/User.php'; | ||
35 | + | ||
36 | +/** | ||
37 | + * Portabilis_Utils_Validation class. | ||
38 | + * | ||
39 | + * @author Lucas D'Avila <lucasdavila@portabilis.com.br> | ||
40 | + * @category i-Educar | ||
41 | + * @license @@license@@ | ||
42 | + * @package Portabilis | ||
43 | + * @since Classe disponível desde a versão 1.1.0 | ||
44 | + * @version @@package_version@@ | ||
45 | + */ | ||
46 | +class Portabilis_Utils_Validation { | ||
47 | + | ||
48 | + public static function validatesCpf($cpf) { | ||
49 | + $cpf = preg_replace('/[^0-9]/', '', (string)$cpf); | ||
50 | + | ||
51 | + if (strlen($cpf) != 11) | ||
52 | + return false; | ||
53 | + | ||
54 | + // calcula primeiro dígito verificador | ||
55 | + $soma = 0; | ||
56 | + | ||
57 | + for ($i = 0; $i < 9; $i++) | ||
58 | + $soma += ((10 - $i) * $cpf[$i]); | ||
59 | + | ||
60 | + $primeiroDigito = 11 - ($soma % 11); | ||
61 | + | ||
62 | + if ($primeiroDigito >= 10) | ||
63 | + $primeiroDigito = 0; | ||
64 | + | ||
65 | + | ||
66 | + // calcula segundo dígito verificador | ||
67 | + $soma = 0; | ||
68 | + | ||
69 | + for ($i = 0; $i < 10; $i++) | ||
70 | + $soma += ((11 - $i) * $cpf[$i]); | ||
71 | + | ||
72 | + $segundoDigito = 11 - ($soma % 11); | ||
73 | + | ||
74 | + if ($segundoDigito >= 10) | ||
75 | + $segundoDigito = 0; | ||
76 | + | ||
77 | + | ||
78 | + return ($primeiroDigito == $cpf[9] && $segundoDigito == $cpf[10]); | ||
79 | + } | ||
80 | +} |
ieducar/modules/Api/Views/PessoaController.php
@@ -39,6 +39,20 @@ require_once 'lib/Portabilis/String/Utils.php'; | @@ -39,6 +39,20 @@ require_once 'lib/Portabilis/String/Utils.php'; | ||
39 | class PessoaController extends ApiCoreController | 39 | class PessoaController extends ApiCoreController |
40 | { | 40 | { |
41 | 41 | ||
42 | + protected function canGet() { | ||
43 | + $can = true; | ||
44 | + | ||
45 | + if (! $this->getRequest()->id && ! $this->getRequest()->cpf) { | ||
46 | + $can = false; | ||
47 | + $this->messenger->append("É necessário receber uma variavel 'id' ou 'cpf'"); | ||
48 | + } | ||
49 | + | ||
50 | + elseif ($this->getRequest()->id) | ||
51 | + $can = $this->validatesResourceId(); | ||
52 | + | ||
53 | + return $can; | ||
54 | + } | ||
55 | + | ||
42 | // validators | 56 | // validators |
43 | 57 | ||
44 | // overwrite api core validator | 58 | // overwrite api core validator |
@@ -72,6 +86,21 @@ class PessoaController extends ApiCoreController | @@ -72,6 +86,21 @@ class PessoaController extends ApiCoreController | ||
72 | return $pessoa; | 86 | return $pessoa; |
73 | } | 87 | } |
74 | 88 | ||
89 | + protected function loadPessoaByCpf($cpf = null) { | ||
90 | + $cpf = preg_replace('/[^0-9]/', '', (string)$cpf); | ||
91 | + | ||
92 | + if (! $cpf) | ||
93 | + throw new Exception("CPF deve conter caracteres numéricos"); | ||
94 | + | ||
95 | + $sql = "select pessoa.idpes as id, nome from cadastro.pessoa, fisica | ||
96 | + where fisica.idpes = pessoa.idpes and cpf = $1 limit 1"; | ||
97 | + | ||
98 | + $pessoa = $this->fetchPreparedQuery($sql, $cpf, false, 'first-row'); | ||
99 | + $pessoa['nome'] = $this->toUtf8($pessoa['nome'], array('transform' => true)); | ||
100 | + | ||
101 | + return $pessoa; | ||
102 | + } | ||
103 | + | ||
75 | protected function loadDetails($pessoaId = null) { | 104 | protected function loadDetails($pessoaId = null) { |
76 | $alunoId = $this->tryLoadAlunoId($pessoaId); | 105 | $alunoId = $this->tryLoadAlunoId($pessoaId); |
77 | 106 | ||
@@ -144,9 +173,13 @@ class PessoaController extends ApiCoreController | @@ -144,9 +173,13 @@ class PessoaController extends ApiCoreController | ||
144 | $pessoa = array(); | 173 | $pessoa = array(); |
145 | 174 | ||
146 | if ($this->canGet()) { | 175 | if ($this->canGet()) { |
147 | - $attrs = array('id', 'nome'); | ||
148 | 176 | ||
149 | - $pessoa = $this->loadPessoa($this->getRequest()->id); | 177 | + if ($this->getRequest()->id) |
178 | + $pessoa = $this->loadPessoa($this->getRequest()->id); | ||
179 | + else | ||
180 | + $pessoa = $this->loadPessoaByCpf($this->getRequest()->cpf); | ||
181 | + | ||
182 | + $attrs = array('id', 'nome'); | ||
150 | $pessoa = Portabilis_Array_Utils::filter($pessoa, $attrs); | 183 | $pessoa = Portabilis_Array_Utils::filter($pessoa, $attrs); |
151 | 184 | ||
152 | $details = $this->loadDetails($this->getRequest()->id); | 185 | $details = $this->loadDetails($this->getRequest()->id); |
ieducar/modules/Cadastro/Assets/Javascripts/PessoaFisica.js
1 | +(function($) { | ||
2 | + $(document).ready(function() { | ||
1 | 3 | ||
2 | -// simple search options | 4 | + var $form = $j('#formcadastro'); |
5 | + var $submitButton = $j('#btn_enviar'); | ||
6 | + var $cpfField = $j('#id_federal'); | ||
7 | + var $cpfNotice = $j('<span>').html('') | ||
8 | + .addClass('error resource-notice') | ||
9 | + .hide() | ||
10 | + .width($j('#nm_pessoa').outerWidth() - 12) | ||
11 | + .appendTo($cpfField.parent()); | ||
3 | 12 | ||
4 | -/*var simpleSearchPaisOrigemOptions = { | ||
5 | - placeholder : safeUtf8Decode('Informe o código ou nome do pais de origem') | ||
6 | -};*/ | ||
7 | 13 | ||
8 | -// when page is ready | 14 | + var handleGetPersonByCpf = function(dataResponse) { |
15 | + handleMessages(dataResponse.msgs); | ||
16 | + $cpfNotice.hide(); | ||
9 | 17 | ||
10 | -(function($) { | ||
11 | - $(document).ready(function() { | 18 | + var pessoaId = dataResponse.id; |
12 | 19 | ||
13 | - // hide or show #pais_origem_nome by #tipo_nacionalidade | 20 | + if (pessoaId && pessoaId != $j('#cod_pessoa_fj').val()) { |
21 | + $cpfNotice.html(stringUtils.toUtf8('CPF já utilizado pela pessoa código ' + pessoaId + ', ')).slideDown('fast'); | ||
22 | + | ||
23 | + $j('<a>').addClass('decorated') | ||
24 | + .attr('href', '/intranet/atendidos_cad.php?cod_pessoa_fj=' + pessoaId) | ||
25 | + .attr('target', '_blank') | ||
26 | + .html('acessar cadastro.') | ||
27 | + .appendTo($cpfNotice); | ||
28 | + | ||
29 | + $j('body').animate({ scrollTop: $j('body').offset().top }, 'fast'); | ||
30 | + } | ||
31 | + | ||
32 | + else if ($j(document).data('submit_form_after_ajax_validation')) | ||
33 | + formUtils.submit(); | ||
34 | + } | ||
35 | + | ||
36 | + | ||
37 | + var getPersonByCpf = function(cpf) { | ||
38 | + var options = { | ||
39 | + url : getResourceUrlBuilder.buildUrl('/module/Api/pessoa', 'pessoa'), | ||
40 | + dataType : 'json', | ||
41 | + data : { cpf : cpf }, | ||
42 | + success : handleGetPersonByCpf, | ||
43 | + | ||
44 | + // forçado requisições sincronas, evitando erro com requisições ainda não concluidas, | ||
45 | + // como no caso, onde o usuário pressiona cancelar por exemplo. | ||
46 | + async : false | ||
47 | + }; | ||
14 | 48 | ||
15 | - var checkTipoNacionalidade = function(){ | 49 | + getResource(options); |
50 | + } | ||
51 | + | ||
52 | + | ||
53 | + // hide or show #pais_origem_nome by #tipo_nacionalidade | ||
54 | + var checkTipoNacionalidade = function() { | ||
16 | if ($j.inArray($j('#tipo_nacionalidade').val(), ['2', '3']) > -1) | 55 | if ($j.inArray($j('#tipo_nacionalidade').val(), ['2', '3']) > -1) |
17 | $j('#pais_origem_nome').show(); | 56 | $j('#pais_origem_nome').show(); |
18 | else | 57 | else |
19 | $j('#pais_origem_nome').hide(); | 58 | $j('#pais_origem_nome').hide(); |
20 | } | 59 | } |
21 | 60 | ||
22 | - checkTipoNacionalidade(); | ||
23 | - $j('#tipo_nacionalidade').change(checkTipoNacionalidade); | 61 | + |
62 | + var validatesCpf = function() { | ||
63 | + var valid = true; | ||
64 | + var cpf = $cpfField.val(); | ||
65 | + | ||
66 | + $cpfNotice.hide(); | ||
67 | + | ||
68 | + if (cpf && ! validationUtils.validatesCpf(cpf)) { | ||
69 | + $cpfNotice.html(stringUtils.toUtf8('O CPF informado é inválido')).slideDown('fast'); | ||
70 | + | ||
71 | + // não usado $cpfField.focus(), pois isto prenderia o usuário a página, | ||
72 | + // caso o mesmo tenha informado um cpf invalido e clique em cancelar | ||
73 | + $j('body').animate({ scrollTop: $j('body').offset().top }, 'fast'); | ||
74 | + | ||
75 | + valid = false; | ||
76 | + } | ||
77 | + | ||
78 | + return valid; | ||
79 | + } | ||
80 | + | ||
81 | + | ||
82 | + var validatesUniquenessOfCpf = function() { | ||
83 | + var cpf = $cpfField.val(); | ||
84 | + | ||
85 | + if(cpf && validatesCpf()) | ||
86 | + getPersonByCpf(cpf); | ||
87 | + } | ||
88 | + | ||
89 | + | ||
90 | + var submitForm = function(event) { | ||
91 | + | ||
92 | + if ($cpfField.val()) { | ||
93 | + $j(document).data('submit_form_after_ajax_validation', true); | ||
94 | + validatesUniquenessOfCpf(); | ||
95 | + } | ||
96 | + | ||
97 | + else | ||
98 | + formUtils.submit(); | ||
99 | + } | ||
100 | + | ||
24 | 101 | ||
25 | // style fixup | 102 | // style fixup |
103 | + | ||
26 | $('#pais_origem_nome').css('width', '150px'); | 104 | $('#pais_origem_nome').css('width', '150px'); |
27 | 105 | ||
28 | - var submitForm = function(event) { | ||
29 | - formUtils.submit(); | ||
30 | - }; | ||
31 | 106 | ||
32 | // bind events | 107 | // bind events |
33 | - $j('#btn_enviar').removeAttr('onclick'); | ||
34 | - $j('#btn_enviar').click(submitForm); | ||
35 | 108 | ||
36 | - }); // ready | ||
37 | -})(jQuery); | 109 | + checkTipoNacionalidade(); |
110 | + $j('#tipo_nacionalidade').change(checkTipoNacionalidade); | ||
111 | + | ||
112 | + $cpfField.focusout(function() { | ||
113 | + $j(document).removeData('submit_form_after_ajax_validation'); | ||
114 | + validatesUniquenessOfCpf(); | ||
115 | + }); | ||
38 | 116 | ||
117 | + $submitButton.removeAttr('onclick'); | ||
118 | + $submitButton.click(submitForm); | ||
119 | + | ||
120 | + }); // ready | ||
121 | +})(jQuery); | ||
39 | \ No newline at end of file | 122 | \ No newline at end of file |
ieducar/modules/Portabilis/Assets/Javascripts/Validator.js
@@ -20,9 +20,50 @@ var validationUtils = { | @@ -20,9 +20,50 @@ var validationUtils = { | ||
20 | return allValid; | 20 | return allValid; |
21 | }, | 21 | }, |
22 | 22 | ||
23 | - validatesFields : function (){ | 23 | + validatesFields : function () { |
24 | return validatesPresenseOfValueInRequiredFields() && | 24 | return validatesPresenseOfValueInRequiredFields() && |
25 | validationUtils.validatesDateFields(); | 25 | validationUtils.validatesDateFields(); |
26 | + }, | ||
27 | + | ||
28 | + validatesCpf : function(cpf) { | ||
29 | + cpf = cpf.replace(/[^0-9]/g, ''); | ||
30 | + | ||
31 | + if (cpf.length != 11) | ||
32 | + return false; | ||
33 | + | ||
34 | + var soma; | ||
35 | + var resto; | ||
36 | + | ||
37 | + // validacao primeiro digito verificador | ||
38 | + | ||
39 | + soma = 0; | ||
40 | + for (i=1; i<=9; i++) | ||
41 | + soma = soma + parseInt(cpf.substring(i-1, i)) * (11 - i); | ||
42 | + | ||
43 | + resto = (soma * 10) % 11; | ||
44 | + | ||
45 | + if ((resto == 10) || (resto == 11)) | ||
46 | + resto = 0; | ||
47 | + | ||
48 | + if (resto != parseInt(cpf.substring(9, 10)) ) | ||
49 | + return false; | ||
50 | + | ||
51 | + | ||
52 | + // validacao segundo digito verificador | ||
53 | + | ||
54 | + soma = 0; | ||
55 | + for (i = 1; i <= 10; i++) | ||
56 | + soma = soma + parseInt(cpf.substring(i-1, i)) * (12 - i); | ||
57 | + | ||
58 | + resto = (soma * 10) % 11; | ||
59 | + | ||
60 | + if ((resto == 10) || (resto == 11)) | ||
61 | + resto = 0; | ||
62 | + | ||
63 | + if (resto != parseInt(cpf.substring(10, 11) ) ) | ||
64 | + return false; | ||
65 | + | ||
66 | + return true; | ||
26 | } | 67 | } |
27 | }; | 68 | }; |
28 | 69 |
ieducar/modules/Portabilis/Assets/Version.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | usado pelo metodos loadJavascript e loadStylesheet do helper Portabilis_View_Helper_Application */ | 4 | usado pelo metodos loadJavascript e loadStylesheet do helper Portabilis_View_Helper_Application */ |
5 | 5 | ||
6 | class Portabilis_Assets_Version { | 6 | class Portabilis_Assets_Version { |
7 | - const VERSION = "0_0_0_1003"; | 7 | + const VERSION = "0_0_0_1004"; |
8 | } | 8 | } |
9 | 9 | ||
10 | ?> | 10 | ?> |