Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Criar críticas para impedir Desativar ou Excluir Tipos de Documentos, Tipos de Processos e Unidades utilizados na Administração do Módulo PEN #153

Closed
6 tasks done
neijobson opened this issue May 17, 2022 · 26 comments
Assignees
Labels
backlog Tarefas já priorizadas, que podem ser puxadas melhoria New feature or request
Milestone

Comments

@neijobson
Copy link

neijobson commented May 17, 2022

Sua solicitação de melhoria está relacionada a um problema? Por favor descreva.
O módulo não está utilizando eventos de bloqueio da API de módulos para impedir Desativações e Exclusões de Tipos de Documentos, Tipos de Processos e Unidades Hipóteses Legais de Restrição de Acesso utilizadas nas diversas telas de Administração do Módulo PEN o que gera erros no uso do módulo com mapeamentos feitos com registros Desativados que na prática dá erros que são difíceis de descobrir.


Descreva a solução que você gostaria
O módulo PEN tem que implementar mensagens de crítica utilizando eventos de bloqueio da API de módulos para impedir Desativar ou Excluir Tipos de Documentos, Tipos de Processos, Unidades e Hipóteses Legais de Restrição de Acesso utilizadas nas diversas telas de Administração do Módulo PEN.

Desativar:

  • Tipos de Documentos
  • Tipos de Processos
  • Unidades
    - [ ] Hipóteses Legais de Restrição de Acesso

Excluir:

  • Tipos de Documentos
  • Tipos de Processos
  • Unidades
    - [ ] Hipóteses Legais de Restrição de Acesso
@neijobson neijobson added the melhoria New feature or request label May 17, 2022
@Mauro1706 Mauro1706 self-assigned this May 15, 2023
@euviniciusmendonca
Copy link
Contributor

@higodf @caduvieira @guilhermeadc Após implantar a branch nos ambientes super5 e super6, eu consegui excluir normalmente o tipo de processo mapeado na tela Parâmetros de Configuração do Módulo de Tramitações PEN.

@caduvieira caduvieira added this to the release7-16 milestone Jun 1, 2023
@michael-ferreira2022 michael-ferreira2022 self-assigned this Jun 15, 2023
@davidnascimento1618
Copy link
Contributor

davidnascimento1618 commented Jun 22, 2023

@michael-ferreira2022, o sistema está permitindo a exclusão ou desativação de um tipo de processo no qual foi mapeado em: 'Parâmetros de Configuração', através do combobox 'Tipo de Processo Externo', conforme é exemplificado no .gif abaixo:

Sistema está permitindo excluir ou desativar um tipo de processo mapeado

Outro ponto que deve ser corrigido, seria com relação a existência de um tipo de hipótese legal apenas do lado do SEI, neste caso, o sistema deveria verificar também o relacionamento contido na tabela 'md_pen_rel_hipotese_legal', pois na forma que foi implementado, está sendo possível excluir ou desativar uma hipótese, caso esta não esteja na tabela do módulo do PEN ('md_pen_hipotese_legal'), conforme evidência abaixo:

Sistema.esta.permitindo.excluir.ou.desativar.uma.hipotese.caso.esta.nao.esteja.na.tabela.do.modulo.do.PEN.mp4

@davidnascimento1618
Copy link
Contributor

@michael-ferreira2022, conforme visto na agenda de hoje à tarde, falta realizar o tratamento na mensagem de erro, quando se tenta realizar uma exclusão de uma hipótese legal que esteja vinculada no mapeamento (do lado do SEI), tanto para o envio como para o recebimento. Abaixo segue um .gif evidenciando o problema:

Mensagem de erro sem tratamento ao tentar exluir uma hipotese legal mapeada do lado do SEI

@michael-ferreira2022
Copy link
Contributor

@davidnascimento1618 esta tarefa depende da https://github.com/supergovbr/super/pull/280. Para tratar a exceção no módulo existem métodos no SeiIntegração.php que são usados para este fim, porém não existiam estes métodos para alguns casos como hipótese legal e foi necessário sua criação para o correto tratamento da exceção.

@davidnascimento1618
Copy link
Contributor

davidnascimento1618 commented Aug 1, 2023

1.

@michael-ferreira2022, após novos testes, foi verificado que o sistema não está mais permitindo a exclusão ou desativação de 'Hipóteses Legais' que não estejam mapeadas, conforme é exemplificado na evidência abaixo:

Sistema.nao.esta.mais.permitindo.a.exclusao.ou.desativacao.de.Hipoteses.Legais.que.nao.estejam.mapeadas.mp4

2.

O outro problema, é que o sistema está permitindo a exclusão ou desativação de um tipo de processo no qual foi mapeado em: 'Parâmetros de Configuração', através do combobox 'Tipo de Processo Externo', conforme é exemplificado no .gif abaixo:

Sistema está permitindo a exclusão ou desativação de um tipo de processo no qual foi mapeado em: 'Parâmetros de Configuração'

@michael-ferreira2022
Copy link
Contributor

michael-ferreira2022 commented Aug 1, 2023

@davidnascimento1618 para a exclusão do tipo de processo ser bloqueada você deve ter feito um tramite para outra unidade, havendo um tramite e realizando a tentativa de exclusão ou desativação ele não permitirá a ação.

@davidnascimento1618
Copy link
Contributor

@davidnascimento1618 para a exclusão do tipo de processo ser bloqueada você deve ter feito um tramite para outra unidade, havendo um tramite e realizando a tentativa de exclusão ou desativação ele não permitirá a ação.

O sistema não deveria realizar essa validação da exclusão ou desativação, de um tipo de processo, se baseando apenas se há vínculo ou não com algum processo, mas, também, deveria verificar se existe mapeamento deste tipo de processo na tabela de 'Parâmetros de Configuração do Módulo de Tramitações PEN', pois isto, evitaria que o usuário refizesse as configurações do módulo de tramitações, uma vez que 'Tipo de Processo Externo' é um campo obrigatório.

@neijobson
Copy link
Author

@michael-ferreira2022 e @davidnascimento1618
Se a vinculação do Tipo de Processo do core do SEI com a tabela do módulo for por FK, isoladamente só em parametrizar o tipo de processo já deveria impedir excluir o Tipo de Processo (que é físico no banco), dando estouro de tela SE não ativarem o evento de bloqueio para não deixar excluir o tipo de processo. O evento de bloqueio evita estouro de tela (que é feio) e ainda indica o motivo porque não deixou excluir.
Se não deu estouro de tela no teste do GIF acima, então sinaliza que no módulo o relacionamento do tipo de processo com a parametrização na Administração não foi forte (FK), o que deve ser revisado, pois a boa prática deveria ser uso de FK para relacionamento forte.

O desativar idem. Por si só, no uso do core do SEI normal, deixaria desativar o Tipo de Processo sem qualquer crítica. Mas se o tipo de processo em questão tiver sido parametrizado na Administração do módulo PEN e deixarem desativar ele, vai dar erro no módulo porque o core do SEI não vai deixar utilizar o tipo de processo em questão. Daí, o evento de bloqueio para não deixar desativar o tipo de processo é necessário para evitar problemas.

@michael-ferreira2022
Copy link
Contributor

@davidnascimento1618 ajustado para o bloqueio de exclusão e bloqueio de processos ser realizado sobre o cadastro do tipo de processo na configuração.

@davidnascimento1618
Copy link
Contributor

davidnascimento1618 commented Aug 9, 2023

Prezado, @michael-ferreira2022, foi verificado que o item 1 não foi corrigido.

Com relação ao item 2, nota-se que a mensagem de desativação de tipo de processo não está conforme o padrão, ou seja, a descrição da mensagem está divergente da que é exibida ao tentar excluir qualquer tipo de processo que já esteja vinculado a um processo, ou seja, quando houver um caso em que o tipo de processo já esteja vinculado a um processo, o sistema deveria exibir uma única mensagem para ambas as ações, no caso do exemplo evidenciado no .gif abaixo, deveria ser: "Existem processos utilizando o tipo de processo "Arrecadação Cobrança"."

Mensagem de desativação de tipo de processo não está conforme o padrão

Outro problema encontrado, seria com relação ao sistema está exibido a mensagem de desativação para a ação de exclusão, para tipos de processo nos quais foram mapeados em: 'Parâmetros de Configuração', através do combobox 'Tipo de Processo Externo', ademais, o advérbio "Não" da mensagem, encontra-se sem acentuação (está faltando o (~)), conforme é evidenciado no .gif abaixo:

Sistema está exibido a mensagem de desativação para a ação de exclusão

@caduvieira
Copy link
Member

O caso de hipótese legal deve ser movida para outra issue visto que não tem ponto de extensão para hipótese legal. @davidnascimento1618 favor separar essa issue em duas.

@michael-ferreira2022 remover do pr o código correspondente

@davidnascimento1618
Copy link
Contributor

Issue #348 criada para tratar apenas da entidade 'Hipóteses Legais' e, seus respectivos mapeamentos (envio, recebimento e hipótese de restrição padrão).

@davidnascimento1618
Copy link
Contributor

davidnascimento1618 commented Sep 5, 2023

Prezado @michael-ferreira2022, favor corrigir os dois itens descritos no comentário supracitado, com exceção do item 1, que será tratado na issue #348.

@davidnascimento1618
Copy link
Contributor

davidnascimento1618 commented Sep 21, 2023

Prezado @michael-ferreira2022, corrigir os conflitos mencionados aqui, assim como esse trecho de código aqui

@davidnascimento1618
Copy link
Contributor

Prezados, favor corrigir os dois itens descritos no comentário supracitado, com exceção do item 1, que será tratado na issue #348.

Tratar também este ponto.

@yurioliveiramgi yurioliveiramgi added the backlog Tarefas já priorizadas, que podem ser puxadas label Feb 2, 2024
@yurioliveiramgi yurioliveiramgi modified the milestones: release7-16, 3.6.0 Feb 7, 2024
@marvdias marvdias self-assigned this Feb 9, 2024
@marvdias
Copy link
Contributor

Testes funcionais do sei oficial

CriticasDesativarExcluirUnidadeTipoProcDocTest_sei_of.mp4

Testes funcionais do sei4

CriticasDesativarExcluirUnidadeTipoProcDocTest_sei_4.mp4

@marvdias
Copy link
Contributor

Testes funcionais do sei3

CriticasDesativarExcluirUnidadeTipoProcDocTest_sei3.mp4

@mateussbh mateussbh modified the milestones: 3.6.0, 3.7.0 Mar 14, 2024
@sergioadao
Copy link

@marvdias e @mateussbh...Campo Tipo de Processo Externo não visível na tela de parametrização. Utilizada PR 431...segue evidência:

issue-153-mpedir-desativar-excluir-tipos-documentos.mp4

@mateussbh
Copy link
Contributor

Prezado, favor criar novo PR, baseado na branch release 3.6.0, tendo em vista que nesta pré-release foi estabilizada a estrutura de teste usando Fixtures, e evitando alguns conflitos observados em merges recentes. Obrigado.

@sergioadao
Copy link

Bom dia @marvdias e @mateussbh ....segue evidência dos problemas relacionados a desabilitar uma hipótese mapeada e excluir uma hipótese mapeada.......SEI-OFICIAL/MYSQL

issue-153-desabilitar-excluir-mapeamento-hipoteses.mp4

@marvdias
Copy link
Contributor

marvdias commented Mar 21, 2024

Bom dia @sergioadao, as hipoteses legais foram retiradas da resolução dessa issue sendo resolvidas na issue #348

@sergioadao
Copy link

@marvdias ....Bom dia Marcus....testes a issue 153 com a PR 462...Contudo, apresentou o erro que segue na evidência abaixo:

erro-mapeamento-hipoteses-issue153-pr462.mp4

@caduvieira caduvieira changed the title Criar críticas para impedir Desativar ou Excluir Tipos de Documentos, Tipos de Processos, Unidades e Hipóteses Legais utilizados na Administração do Módulo PEN Criar críticas para impedir Desativar ou Excluir Tipos de Documentos, Tipos de Processos e Unidades utilizados na Administração do Módulo PEN Apr 2, 2024
@caduvieira
Copy link
Member

Não há ponto de extensão para hipótese legal no 4.0.X por isso foi desmembrado em duas issues.

@sergioadao
Copy link

@marvdias e @mateussbh ...boa tarde .....seguem evidências do funcionamento como solicitado na issue 153 / PR 462 , para documentos, unidades e processos.....

Documentos:

issue153-pr462-documentos.mp4

Unidades:

issue153-pr462-unidades.mp4

Processos:

issue153-pr462-processo.mp4

@sergioadao
Copy link

@marvdias ....bom dia.....Rodei o teste

make teste=CriticasDesativarExcluirUnidadeTipoProcDocTest test-functional
ESSSSS 6 / 6 (100%)

Time: 273 ms, Memory: 12.00 MB

There was 1 error:

CriticasDesativarExcluirUnidadeTipoProcDocTest::test_desativar_tipo_processo
Data too long for column 'sigla_unidade_rh' at row 1
OBS: No arquivo phpunit.xml tenho apenas setado as variáveis abaixo:







@sergioadao
Copy link

Bom dia @marvdias e @mateussbh ...teste funcional OK......segue evidência:

toor@tesla:~/Documentos/ministerio_economia/aplicacao_sei/sei_versoes/sei-4.0.12.15/src/sei/web/modulos/mod-sei-pen$ make teste=CriticasDesativarExcluirUnidadeTipoProcDocTest test-functional
docker-compose -f tests_super/funcional/docker-compose.yml --env-file tests_super/funcional/.env up -d
funcional_org2-database_1 is up-to-date
funcional_org1-memcached_1 is up-to-date
funcional_smtp_1 is up-to-date
funcional_org2-memcached_1 is up-to-date
funcional_org1-database_1 is up-to-date
Starting funcional_php-test-unit_1 ...
funcional_org2-http_1 is up-to-date
funcional_org1-http_1 is up-to-date
funcional_proxy_1 is up-to-date
Starting funcional_php-test-unit_1 ... done
Starting funcional_php-test-functional_1 ... done
docker-compose -f tests_super/funcional/docker-compose.yml --env-file tests_super/funcional/.env run -w /tests php-test-functional bash -c './composer.phar install'
Creating funcional_php-test-functional_run ... done
Xdebug: [Step Debug] Could not connect to debugging client. Tried: host.docker.internal:9003 (fallback through xdebug.client_host/xdebug.client_port) :-(
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package zendframework/zend-mime is abandoned, you should avoid using it. Use laminas/laminas-mime instead.
Package zendframework/zend-stdlib is abandoned, you should avoid using it. Use laminas/laminas-stdlib instead.
Generating autoload files
26 packages you are using are looking for funding.
Use the composer fund command to find out more!
docker-compose -f tests_super/funcional/docker-compose.yml --env-file tests_super/funcional/.env run --rm php-test-functional /tests/vendor/bin/phpunit -c /tests/phpunit.xml /tests/tests/CriticasDesativarExcluirUnidadeTipoProcDocTest.php ;
Creating funcional_php-test-functional_run ... done
Xdebug: [Step Debug] Could not connect to debugging client. Tried: host.docker.internal:9003 (fallback through xdebug.client_host/xdebug.client_port) :-(
PHPUnit 8.5.35 by Sebastian Bergmann and contributors.

Runtime: PHP 7.3.33 with Xdebug 3.0.4
Configuration: /tests/phpunit.xml

.
..... 6 / 6 (100%)

Time: 1.69 minutes, Memory: 14.00 MB

OK (6 tests, 6 assertions)

@yurioliveiramgi yurioliveiramgi modified the milestones: 3.7.0, 4.0.0 Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Tarefas já priorizadas, que podem ser puxadas melhoria New feature or request
Projects
None yet