Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Problema ao apagar Programas do usuário "Admin" no MicroERP Olá Pessoal, Existe um possível Bug na lógica de exclusão dos programas do usuário Admin no Template MicroERP, seguinte: Se vc apagar todos os programas deste usuário, mesmo ele pertencendo ao grupo de Administradores e este grupo possuir acesso total a todos os programas, ele simplesmente bloqueia todo o acesso ao sistema e vc simplesmente fica sem acesso. Para contornar esse prob...
AM
Problema ao apagar Programas do usuário "Admin" no MicroERP  
Olá Pessoal,

Existe um possível Bug na lógica de exclusão dos programas do usuário Admin no Template MicroERP, seguinte:

Se vc apagar todos os programas deste usuário, mesmo ele pertencendo ao grupo de Administradores e este grupo possuir acesso total a todos os programas, ele simplesmente bloqueia todo o acesso ao sistema e vc simplesmente fica sem acesso.

Para contornar esse problema, basta executar novamente o insert do permission.sql que vem junto com o MicroERP na pasta Database referente a seguinte tabela:

system_user_group

INSERT INTO system_user_group VALUES(1,1,1);
INSERT INTO system_user_group VALUES(2,2,2);
INSERT INTO system_user_group VALUES(3,1,2);

Uso o Mysql e ocorreu esse problema comigo.

Se o grupo do usuário possui permissão total a todos os programas, não é necessário incluir no usuário nenhum programa, essa seria a lógica.

Esse problema detectado, repito, se dá tão somente na exclusão dos programas no perfil do usuário, ele não permite acesso ao usuário que não possua resgistros no system user_user_group.

O Pablo poderia dar uma olhada nisso depois, abraço.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (6)


NR

Alan, não consegui simular esse erro. Até porque o usuário ADMIN vem por padrão sem nenhum programa selecionado.

Os inserts que você mencionou são da tabela system_user_group. Essa tabela faz o vínculo entre o usuário e os grupos a que ele pertence.

O vínculo entre usuários e programas está na tabela system_user_program.

Você tem certeza que não desmarcou os grupos do usuário ao invés de excluir os programas dele? Dessa maneira, sem nenhum grupo, faz sentido o usuário ficar sem permissão de acesso.
AM

Nataniel,

Não tem como desmarcar grupos de usuários pelo cadastro de usuários, o que podemos fazer é excluir os programas daquele usuário e foi o que eu fiz.

Apenas apaguei todos os programas do usuário, os programas do grupo do usuário permaneceram cadastrados.

Quando fiz o insert citado acima, curiosamente ele cadastrou no usuário o programa Common Page e voltou todo acesso do menu de acordo com o cadasro do grupo do usuário.

O erro aconteceu com o usuário User.
NR

"Não tem como desmarcar grupos de usuários pelo cadastro de usuários"
- Estamos falando da classe SystemUserForm? Se sim, é possível marcar/desmarcar os grupos de cada usuário. Os grupos não aparecem em checks nessa tela pra você?
AM

Nataniel vc está confundindo Programas com os Grupos.

Seguinte:

1-Menu Administração
2-Usuarios
3-Edite um usuário que possua programas cadastrado
4-Exclua todos os programas
5-Clique em Salvar para gravar as exclusões.

Após salvar as exclusões, verá que o usuário em questão, mesmo possuindo acesso aos programas cadastrados no Grupo ao qual ele pertence,
os programas somem do MENU.

Entendeu?
NR

Alan, eu fiz isso e não tive nenhum problema. Inclusive, como mencionei anteriormente, o usuário admin vem por padrão sem nenhum programa adicionado e isso não gera nenhum problema de permissão. Esse controle de permissões por grupos e programas vem seguindo a mesma lógica desde as primeiras versões do framework, por isso acho difícil que haja algum bug nessa questão.

E os inserts que vocẽ menciona não tem nenhuma relação com programas, somente com grupos e usuários.

O que estranhei foi sua afirmação de que não era possível desmarcar grupos no cadastro do usuário, por isso perguntei.
AM

Encontrei o problema Nataniel, meá culpa.

Fiz uma alteração no form de cadastro do usuário para ele cadastrar somente um grupo especifico para o usuário,
então quando ele grava no banco, ele ignorar está ignorando a gravação na tabela system_user_group.

Estou revendo as alterações para ver onde está o problema...

Vlew