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.
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.
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.
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.
"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ê?
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?
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.
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