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 | 37 | |
38 | 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 | 45 | * clsIndex class. |
... | ... | @@ -109,36 +110,12 @@ class indice extends clsCadastro |
109 | 110 | |
110 | 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 | 120 | list($this->nm_pessoa, $this->id_federal, $this->data_nasc, |
144 | 121 | $this->ddd_telefone_1, $this->telefone_1, $this->ddd_telefone_2, |
... | ... | @@ -160,19 +137,17 @@ class indice extends clsCadastro |
160 | 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 | 144 | $this->estado_civil_id = $this->estado_civil->ideciv; |
164 | 145 | $this->pais_origem_id = $this->pais_origem->idpais; |
165 | 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 | 153 | $this->nome_url_cancelar = 'Cancelar'; |
... | ... | @@ -182,284 +157,250 @@ class indice extends clsCadastro |
182 | 157 | |
183 | 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 | 404 | Portabilis_View_Helper_Application::loadStylesheet($this, $styles); |
464 | 405 | |
465 | 406 | $script = "/modules/Cadastro/Assets/Javascripts/PessoaFisica.js"; |
... | ... | @@ -468,37 +409,17 @@ class indice extends clsCadastro |
468 | 409 | |
469 | 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 | 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 | 421 | $idpes = $objPessoa->cadastra(); |
500 | 422 | |
501 | - | |
502 | 423 | // pessoa fisica |
503 | 424 | |
504 | 425 | $fisica = new clsFisica(); |
... | ... | @@ -507,7 +428,7 @@ class indice extends clsCadastro |
507 | 428 | $fisica->data_nasc = dataToBanco($this->data_nasc); |
508 | 429 | $fisica->sexo = $this->sexo; |
509 | 430 | $fisica->ref_cod_sistema = 'NULL'; |
510 | - $fisica->cpf = $this->id_federal; | |
431 | + $fisica->cpf = idFederal2int($this->id_federal); | |
511 | 432 | $fisica->ideciv = $this->estado_civil_id; |
512 | 433 | $fisica->idpes_pai = $this->pai_id; |
513 | 434 | $fisica->idpes_mae = $this->mae_id; |
... | ... | @@ -570,32 +491,14 @@ class indice extends clsCadastro |
570 | 491 | |
571 | 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 | 497 | // pessoa |
596 | 498 | |
597 | 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 | 503 | $objPessoa->edita(); |
601 | 504 | |
... | ... | @@ -607,7 +510,7 @@ class indice extends clsCadastro |
607 | 510 | $fisica->data_nasc = dataToBanco($this->data_nasc); |
608 | 511 | $fisica->sexo = $this->sexo; |
609 | 512 | $fisica->ref_cod_sistema = 'NULL'; |
610 | - $fisica->cpf = $this->id_federal; | |
513 | + $fisica->cpf = $this->id_federal ? idFederal2int($this->id_federal) : 'NULL'; | |
611 | 514 | $fisica->ideciv = $this->estado_civil_id; |
612 | 515 | |
613 | 516 | $fisica->idpes_pai = $this->pai_id; |
... | ... | @@ -759,6 +662,30 @@ class indice extends clsCadastro |
759 | 662 | |
760 | 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 | 691 | // Instancia objeto de página | ... | ... |
ieducar/intranet/include/clsBase.inc.php
... | ... | @@ -49,8 +49,8 @@ require_once 'include/Geral.inc.php'; |
49 | 49 | require_once 'include/pmicontrolesis/geral.inc.php'; |
50 | 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 | 55 | require_once 'modules/Error/Mailers/NotificationMailer.php'; |
56 | 56 | |
... | ... | @@ -219,7 +219,7 @@ class clsBase extends clsConfig |
219 | 219 | } |
220 | 220 | |
221 | 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 | 223 | if ($this->db()->ProximoRegistro()) { |
224 | 224 | list($aui) = $this->db()->Tupla(); |
225 | 225 | $sempermissao = FALSE; |
... | ... | @@ -229,7 +229,7 @@ class clsBase extends clsConfig |
229 | 229 | // permissão de acesso ao processo. Já a segunda, não existe |
230 | 230 | // sentido para nivel = 2 já que processoAp pode ser de níveis |
231 | 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 | 233 | if ($this->db()->ProximoRegistro()) { |
234 | 234 | list($aui) = $this->db()->Tupla(); |
235 | 235 | $sempermissao = FALSE; |
... | ... | @@ -257,8 +257,8 @@ class clsBase extends clsConfig |
257 | 257 | |
258 | 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 | 263 | else { |
264 | 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 | 544 | $menu_dinamico = $this->makeBanner(); |
545 | 545 | |
546 | 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 | 549 | if ($this->db()->numLinhas()) { |
550 | 550 | while ($this->db()->ProximoRegistro()) { |
... | ... | @@ -560,18 +560,18 @@ class clsBase extends clsConfig |
560 | 560 | </div>"; |
561 | 561 | } |
562 | 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 | 564 | $this->db()->Consulta("DELETE FROM portal.notificacao WHERE visualizacoes > 10"); |
565 | 565 | } |
566 | 566 | |
567 | 567 | // nome completo usuario |
568 | 568 | $nomePessoa = new clsPessoaFisica(); |
569 | - list($nomePessoa) = $nomePessoa->queryRapida($this->_currentUserId(), "nome"); | |
569 | + list($nomePessoa) = $nomePessoa->queryRapida($this->currentUserId(), "nome"); | |
570 | 570 | $nomePessoa = ($nomePessoa) ? $nomePessoa : "<span style='color: #DD0000; '>Convidado</span>"; |
571 | 571 | |
572 | 572 | |
573 | 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 | 576 | if($ultimoAcesso) |
577 | 577 | $ultimoAcesso = date("d/m/Y H:i", strtotime(substr($ultimoAcesso,0,19))); |
... | ... | @@ -595,7 +595,7 @@ class clsBase extends clsConfig |
595 | 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 | 599 | $this->db()->Consulta($sql); |
600 | 600 | |
601 | 601 | return $saida; |
... | ... | @@ -844,7 +844,7 @@ class clsBase extends clsConfig |
844 | 844 | return Portabilis_Utils_Database::db(); |
845 | 845 | } |
846 | 846 | |
847 | - function _currentUserId() { | |
847 | + protected function currentUserId() { | |
848 | 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 | 36 | |
37 | 37 | require_once 'Portabilis/View/Helper/Application.php'; |
38 | 38 | require_once 'Portabilis/View/Helper/Inputs.php'; |
39 | +require_once 'Portabilis/Utils/User.php'; | |
39 | 40 | |
40 | 41 | /** |
41 | 42 | * clsCadastro class. |
... | ... | @@ -731,4 +732,8 @@ class clsCadastro extends clsCampos |
731 | 732 | |
732 | 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 | 288 | $campos .= ", nome_conjuge"; |
289 | 289 | $valores .= ", '$this->nome_conjuge' "; |
290 | 290 | } |
291 | - if(is_string($this->nome-responsavel)) | |
291 | + if(is_string($this->nome_responsavel)) | |
292 | 292 | { |
293 | 293 | $campos .= ", nome_responsavel"; |
294 | 294 | $valores .= ", '$this->nome_responsavel' "; |
... | ... | @@ -459,20 +459,18 @@ class clsFisica |
459 | 459 | $set .= "$gruda idpes_rev = '{$this->idpes_rev}'"; |
460 | 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 | 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 | 469 | $set .= "$gruda ref_cod_sistema = {$this->ref_cod_sistema}"; |
471 | 470 | $gruda = ", "; |
472 | 471 | } |
473 | 472 | |
474 | - if(is_numeric($this->ref_cod_religiao)) | |
475 | - { | |
473 | + if(is_numeric($this->ref_cod_religiao)) { | |
476 | 474 | $set .= "$gruda ref_cod_religiao = {$this->ref_cod_religiao}"; |
477 | 475 | $gruda = ", "; |
478 | 476 | } | ... | ... |
... | ... | @@ -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 | 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 | 56 | // validators |
43 | 57 | |
44 | 58 | // overwrite api core validator |
... | ... | @@ -72,6 +86,21 @@ class PessoaController extends ApiCoreController |
72 | 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 | 104 | protected function loadDetails($pessoaId = null) { |
76 | 105 | $alunoId = $this->tryLoadAlunoId($pessoaId); |
77 | 106 | |
... | ... | @@ -144,9 +173,13 @@ class PessoaController extends ApiCoreController |
144 | 173 | $pessoa = array(); |
145 | 174 | |
146 | 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 | 183 | $pessoa = Portabilis_Array_Utils::filter($pessoa, $attrs); |
151 | 184 | |
152 | 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 | 55 | if ($j.inArray($j('#tipo_nacionalidade').val(), ['2', '3']) > -1) |
17 | 56 | $j('#pais_origem_nome').show(); |
18 | 57 | else |
19 | 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 | 102 | // style fixup |
103 | + | |
26 | 104 | $('#pais_origem_nome').css('width', '150px'); |
27 | 105 | |
28 | - var submitForm = function(event) { | |
29 | - formUtils.submit(); | |
30 | - }; | |
31 | 106 | |
32 | 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 | 122 | \ No newline at end of file | ... | ... |
ieducar/modules/Portabilis/Assets/Javascripts/Validator.js
... | ... | @@ -20,9 +20,50 @@ var validationUtils = { |
20 | 20 | return allValid; |
21 | 21 | }, |
22 | 22 | |
23 | - validatesFields : function (){ | |
23 | + validatesFields : function () { | |
24 | 24 | return validatesPresenseOfValueInRequiredFields() && |
25 | 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