[RESOLVIDO] Não consigo mais determinar as permissões ao sincronizar ou cadastrar uma nova aplicação do tipo formulário

Ao sincronizar ou cadastrar uma nova aplicação do tipo formulário, não é mais possível marcar as opções de: inserir, excluir, atualizar, exportar e imprimir!

Estou usando a versão 9.10.010 (73) e a minha licença é da 9.8, mas as funcionalidades do módulo de segurança não deveriam ter parado de funcionar só porque vocês lançaram um novo módulo.

Eu não sei quando parou de funcionar, mas notei que funcionava bem até a versão 9.10.0005.

Estou trabalhando num projeto e tinha vários outros bugs me atrapalhando entre as versões 9.9.020 e essa 9.10.0005 por isso continuei atualizando até me livrar dos bugs, mas não sabia que iria ganhar um bug pior.

Ambiente:

  • php 8.1, debian 12 (amazon/debian-12-amd64-20231013-1532);
  • Apache/2.4.57 (Debian);
  • banco de dados PostgreSQL 11;
  • o módulo de segurança está num banco SQLITE na mesma maquina do scriptcase para facilitar a publicação em produção;

Caro @jacobju,

Realizamos alguns testes considerando o cenário descrito acima por você, assim como também as características de ambiente e banco de dados. A versão do Scriptcase em que o teste foi realizado foi a mais recente: 9.10.011(26).

Ao publicar o segundo formulário (criado após a criação e publicação do módulo de segurança), e logo em seguida no menu “Segurança” do projeto publicado sincronizar as aplicações para que esse novo formulário fosse exibido em “Grupos/Aplicações”, todos os privilégios ficaram disponíveis para serem habilitados ou não neste segundo formulário, independente do grupo selecionado para aplicar os privilégios.

Se houver mais algum outro detalhe que você julgue importante enfatizar (caso não tenha mencionado acima), fique à vontade para compartilhar conosco, apesar do cenário acima e das características do ambiente estarem muito claras e suficientes.

De qualquer forma, sugerimos que você entre em contato com o suporte da ferramenta através do chat ou ticket, pois a equipe poderá analisar o seu problema com maior profundidade (se for o caso, até com acesso remoto à máquina em questão). Mesmo com o lançamento do novo módulo de segurança, o antigo continua funcional e tendo suporte para possíveis problemas que venham a ocorrer com o mesmo.

Nossos cumprimentos!

Caro @Danilo_Lima agradeço o empenho, mas fiz novos testes com a versão mais recente e o problema persistiu, então resolvi partir para uma abordagem mais efetiva!

  • procurei revisar a aplicação de segurança que lista as permissões e permite as alterações: no meu caso app_form_sec_groups_apps

E descobri que o código nativo do modulo de segurança postado pelo SC no método onLoadRecord as vezes não consegue identificar o tipo de aplicação e por isso deixa de permitir a configuração das permissões:

/* codigo para descobrir como a aplicação é indentificada adicionado por mim*/
echo {app_name}."/".trim([arr_apps][ {app_name} ])."\n\r";

if( isset( [arr_apps][ {app_name} ] ) )
{
	switch(trim([arr_apps][ {app_name} ]))
	{
		case 'form':
		break;
		case 'calendar':
			sc_field_disabled_record("priv_export; priv_print");
		break;
		case 'cons':
			sc_field_disabled_record("priv_insert; priv_delete; priv_update");
		break;
		default:
			sc_field_disabled_record("priv_insert; priv_delete; priv_update; priv_export; priv_print");
		break;
	}
}

Tela da aplicação onde fiz os testes:

Resultado do meu echo da tela acima:
form_edit_entity_bankaccount/form ok
form_internal_tb_entity_bankaccount_type/ errado
grid_entity_bankaccount/cons ok
grid_internal_tb_entity_bankaccount_type/ errado
form_edit_entity_bankaccount/form ok
form_internal_tb_entity_bankaccount_type/ errado
grid_entity_bankaccount/cons ok
grid_internal_tb_entity_bankaccount_type/ errado
form_edit_entity_bankaccount/form ok
form_internal_tb_entity_bankaccount_type/ errado
grid_entity_bankaccount/cons ok
grid_internal_tb_entity_bankaccount_type/ errado

Vejam que o problema acontece mesmo com grid de consulta, eu que não havia percebido pois os formulários me chamou mais atenção porque some os botões de salvar.

Eu mesmo vou procurar uma solução para o meu problema aqui (e posto para os demais), mas fica o ALERTA de que o código postado pelo módulo de segurança legado está errando o tipo de aplicação, e isso é algo recente!

Para quem interessar o @Windson_Oliveira me respodeu com a solução pra esse bug que só afeta quem passou batido pela versão 9.9.01 (que é o meu caso):

"a estrutura das aplicações foi alterada e com isso, foi necessário atualizar a aplicação de sincronização das aplicações na versão 9.9.01"

Muito obrigado @Windson_Oliveira :grinning: