Commit 24f39a2798f6b51c63c775c35205dadd1e53fb2d

Authored by Alex Braga
1 parent cd4c4480

Adequação para proteção de intimação eletrômnica do módulo de peticionamento.

sei/web/modulos/pesquisa/MdPesqBuscaProtocoloExterno.php
... ... @@ -38,7 +38,6 @@ class MdPesqBuscaProtocoloExterno {
38 38 public static function executar($q, $strDescricaoPesquisa, $strObservacaoPesquisa, $inicio, $numMaxResultados, $strParticipanteSolr, $md5Captcha = null) {
39 39  
40 40 //carrega configurações pesquisa
41   -
42 41 $objParametroPesquisaDTO = new MdPesqParametroPesquisaDTO();
43 42 $objParametroPesquisaDTO->retStrNome();
44 43 $objParametroPesquisaDTO->retStrValor();
... ... @@ -56,9 +55,11 @@ class MdPesqBuscaProtocoloExterno {
56 55  
57 56 $parametros = new stdClass();
58 57 $filtro = new stdClass();
59   -
60 58 $partialfields = '';
61 59  
  60 + // Parametros peticionamento elerônico
  61 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento();
  62 +
62 63 //die($_REQUEST["partialfields"]);
63 64  
64 65 if(!$bolAutocompletarInterressado){
... ... @@ -423,14 +424,23 @@ class MdPesqBuscaProtocoloExterno {
423 424 die;
424 425 }
425 426  
426   - $titulo .= " ";
427   - $parametrosCriptografadosDocumentos = MdPesqCriptografia::criptografa('acao_externa=md_pesq_documento_exibir&id_orgao_acesso_externo=0&id_documento='.$objDocumentoDTO->getDblIdDocumento());
428   - $endereco = 'md_pesq_documento_consulta_externa.php?'.$parametrosCriptografadosDocumentos;
429   - $titulo .= "(<a target=\"_blank\" href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink($endereco)) . "\"";
430   - $titulo .= " class=\"protocoloNormal\"";
431   - $titulo .= ">" . $dados["identificacao_protocolo"] . "</a>)";
432   -
433   - //$tituloProtocolo = "<a target=\"_blank\" href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink($endereco)) . "\" class=\"protocoloNormal\" >".$dados["protocolo_documento_formatado"]. "</a>";
  427 + // Protege Intimação eletônica
  428 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  429 + if($objInfraParametroDTO != null && $objInfraParametroDTO->getStrValor() >= '2.0.0' && $objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida(array($objProtocoloDTO->getDblIdProtocolo())) == false){
  430 + $titulo .= " ";
  431 + $titulo .= $dados["identificacao_protocolo"];
  432 + $snippet = 'Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida';
  433 +
  434 +
  435 + }else{
  436 + $titulo .= " ";
  437 + $parametrosCriptografadosDocumentos = MdPesqCriptografia::criptografa('acao_externa=md_pesq_documento_exibir&id_orgao_acesso_externo=0&id_documento='.$objDocumentoDTO->getDblIdDocumento());
  438 + $endereco = 'md_pesq_documento_consulta_externa.php?'.$parametrosCriptografadosDocumentos;
  439 + $titulo .= "(<a target=\"_blank\" href=\"" . PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink($endereco)) . "\"";
  440 + $titulo .= " class=\"protocoloNormal\"";
  441 + $titulo .= ">" . $dados["identificacao_protocolo"] . "</a>)";
  442 + }
  443 +
434 444  
435 445 }
436 446  
... ... @@ -490,6 +500,10 @@ class MdPesqBuscaProtocoloExterno {
490 500  
491 501 }
492 502  
  503 +
  504 +
  505 +
  506 +
493 507 // Protege contra a não idexação no solr quando o processo passa de público para restrito.
494 508 if(($objProtocoloDTO->getStrStaProtocolo() == ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() != ProtocoloRN::$NA_PUBLICO && !$bolPesquisaProcessoRestrito) || ($objProtocoloDTO->getStrStaProtocolo() == ProtocoloRN::$TP_PROCEDIMENTO && $objProtocoloDTO->getStrStaNivelAcessoGlobal() == ProtocoloRN::$NA_SIGILOSO)){
495 509  
... ...
sei/web/modulos/pesquisa/md_pesq_documento_consulta_externa.php
... ... @@ -21,13 +21,11 @@ try {
21 21 //InfraDebug::getInstance()->setBolDebugInfra(false);
22 22 //InfraDebug::getInstance()->limpar();
23 23 //////////////////////////////////////////////////////////////////////////////
24   - MdPesqConverteURI::converterURI();
25   - MdPesqPesquisaUtil::valiadarLink();
26   -// if (isset($_GET['id_acesso_externo'])){
27   -// SessaoSEIExterna::getInstance($_GET['id_acesso_externo'])->validarLink();
28   -// }else{
29   -// // SessaoSEIExterna::getInstance()->validarLink();
30   -// }
  24 +
  25 +
  26 + MdPesqConverteURI::converterURI();
  27 + MdPesqPesquisaUtil::valiadarLink();
  28 +
31 29  
32 30 $objParametroPesquisaDTO = new MdPesqParametroPesquisaDTO();
33 31 $objParametroPesquisaDTO->retStrNome();
... ... @@ -41,6 +39,9 @@ try {
41 39 $bolListaDocumentoProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_RESTRITO] == 'S' ? true : false;
42 40 $bolListaDocumentoProcessoPublico = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_PUBLICO] == 'S' ? true : false;
43 41  
  42 + // Parametros peticionamento elerônico
  43 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento();
  44 +
44 45 $objDocumentoDTO = new DocumentoDTO();
45 46 $objDocumentoDTO->retDblIdDocumento();
46 47 $objDocumentoDTO->retDblIdProcedimento();
... ... @@ -104,6 +105,13 @@ try {
104 105 }
105 106 }
106 107  
  108 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  109 + if($objInfraParametroDTO != null && $objInfraParametroDTO->getStrValor() >= '2.0.0' && $objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida(array($objDocumentoDTO->getDblIdDocumento())) == false){
  110 +
  111 + die("Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida");
  112 +
  113 + }
  114 +
107 115 // Exibe apenas documentos de processos públicos.
108 116  
109 117  
... ...
sei/web/modulos/pesquisa/md_pesq_processo_exibir.php
... ... @@ -35,8 +35,11 @@ try {
35 35  
36 36 $objParametroPesquisaRN = new MdPesqParametroPesquisaRN();
37 37 $arrObjParametroPesquisaDTO = $objParametroPesquisaRN->listar($objParametroPesquisaDTO);
38   -
39 38 $arrParametroPesquisaDTO = InfraArray::converterArrInfraDTO($arrObjParametroPesquisaDTO,'Valor','Nome');
  39 +
  40 + // Parametros peticionamento elerônico
  41 + $objInfraParametroDTO = $objParametroPesquisaRN->consultarVersaoPeticionamento();
  42 +
40 43  
41 44 $bolPesquisaProcessoRestrito = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_PROCESSO_RESTRITO] == 'S' ? true : false;
42 45 $bolListaDocumentoProcessoPublico = $arrParametroPesquisaDTO[MdPesqParametroPesquisaRN::$TA_LISTA_DOCUMENTO_PROCESSO_PUBLICO] == 'S' ? true : false;
... ... @@ -319,11 +322,18 @@ try {
319 322 $urlCripografadaDocumeto = MdPesqCriptografia::criptografa('acao_externa=documento_exibir&id_documento='.$objDocumentoDTO->getDblIdDocumento().'&id_orgao_acesso_externo=0');
320 323 $strLinkDocumento = PaginaSEI::getInstance()->formatarXHTML(SessaoSEI::getInstance()->assinarLink('md_pesq_documento_consulta_externa.php?'.$urlCripografadaDocumeto));
321 324  
  325 + //Protege acesso à documento público de intimação eletrônica
  326 + $objMdPetIntCertidaoRN = new MdPetIntCertidaoRN();
  327 + $bolValidaIntimacaoEletronica = false;
  328 + if($objInfraParametroDTO != null && $objInfraParametroDTO->getStrValor() >= '2.0.0' && $objMdPetIntCertidaoRN->verificaDocumentoEAnexoIntimacaoNaoCumprida(array($objDocumentoDTO->getDblIdDocumento())) == false){
  329 + $bolValidaIntimacaoEletronica = true;
  330 + }
  331 +
322 332 $strResultado .= '<tr class="infraTrClara">';
323 333  
324 334 //Cria checkbox para gerar PDF, verifica se o Processo é público e o Acesso Local do Protocolo é Público
325 335 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO && $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO){
326   - if($objDocumentoRN->verificarSelecaoGeracaoPdf($objDocumentoDTO)){
  336 + if($objDocumentoRN->verificarSelecaoGeracaoPdf($objDocumentoDTO) && !$bolValidaIntimacaoEletronica){
327 337 $strResultado .= '<td align="center">'.PaginaSEIExterna::getInstance()->getTrCheck($numDocumentosPdf++, $objDocumentoDTO->getDblIdDocumento(), $objDocumentoDTO->getStrNomeSerie()).'</td>';
328 338 }else{
329 339 $strResultado .= '<td>&nbsp;</td>';
... ... @@ -335,7 +345,16 @@ try {
335 345  
336 346 //Exibe link de documentos com nivel de acesso local Público de processo público
337 347 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO && $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_PUBLICO ){
338   - $strResultado .= '<td align="center" style="padding-right:22px"><a href="javascript:void(0);" onclick="window.open(\''.$strLinkDocumento.'\');" alt="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" title="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" class="ancoraPadraoAzul">'.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'</a></td>';
  348 +
  349 + if($bolValidaIntimacaoEletronica){
  350 + $strResultado .= '<td align="center"><span class="retiraAncoraPadraoAzul">'.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'</span>';
  351 + $strResultado .= '<img src="/infra_css/imagens/espaco.gif">';
  352 + $strResultado .= '<img src="../peticionamento/imagens/intimacao_nao_cumprida_doc_anexo.png" align="absbottom" title="Acesso Restrito.&#13'.'Documento com acesso restrito provisoriamente em razão de Intimação Eletrônica ainda não cumprida">';
  353 + }else{
  354 + $strResultado .= '<td align="center" style="padding-right:22px"><a href="javascript:void(0);" onclick="window.open(\''.$strLinkDocumento.'\');" alt="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" title="'.PaginaSEIExterna::getInstance()->formatarXHTML($objDocumentoDTO->getStrNomeSerie()).'" class="ancoraPadraoAzul">'.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'</a></td>';
  355 + }
  356 +
  357 +
339 358 }else{
340 359 if($objDocumentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_RESTRITO){
341 360  
... ...
sei/web/modulos/pesquisa/rn/MdPesqParametroPesquisaRN.php
... ... @@ -37,7 +37,7 @@ class MdPesqParametroPesquisaRN extends InfraRN {
37 37 try {
38 38  
39 39 //Valida Permissao
40   - SessaoSEI::getInstance()->validarAuditarPermissao('md_pesq_parametro_consultar',__METHOD__,$objParametroPesquisaDTO);
  40 + SessaoSEI::getInstance()->validarPermissao('md_pesq_parametro_consultar',__METHOD__,$objParametroPesquisaDTO);
41 41  
42 42 //Regras de Negocio
43 43 //$objInfraException = new InfraException();
... ... @@ -104,7 +104,7 @@ class MdPesqParametroPesquisaRN extends InfraRN {
104 104 try {
105 105  
106 106 //Valida Permissao
107   - SessaoSEI::getInstance()->validarAuditarPermissao('md_pesq_parametro_listar',__METHOD__,$objParametroPesquisaDTO);
  107 + SessaoSEI::getInstance()->validarPermissao('md_pesq_parametro_listar',__METHOD__,$objParametroPesquisaDTO);
108 108  
109 109 //Regras de Negocio
110 110 //$objInfraException = new InfraException();
... ... @@ -122,6 +122,21 @@ class MdPesqParametroPesquisaRN extends InfraRN {
122 122 throw new InfraException('Erro listando Parâmetro da Pesquisas.',$e);
123 123 }
124 124 }
  125 +
  126 +
  127 + protected function consultarVersaoPeticionamentoConectado(){
  128 +
  129 + $objInfraParametroDTO = new InfraParametroDTO();
  130 + $objInfraParametroDTO->setStrNome('VERSAO_MODULO_PETICIONAMENTO');
  131 + $objInfraParametroDTO->retStrValor();
  132 +
  133 + $objInfraParametroBD = new InfraParametroBD($this->getObjInfraIBanco());
  134 + $objInfraParametroDTO = $objInfraParametroBD->consultar($objInfraParametroDTO);
  135 +
  136 + return $objInfraParametroDTO;
  137 + }
  138 +
  139 +
125 140  
126 141  
127 142  
... ...