[RESOLVIDO ] Um menu para cada grupo

Olá a todos,

Eu preciso que cada tipo de usuário (grupo) tenha acesso a um menu principal diferente, por exemplo, um para o grupo supervisor que será um menu mais completo, um grupo mais básico que terá um menu mais enxuto e por ai vai.
Para o meu sistema terá que ser desta forma porque vai facilitar e muito.
Então eu tenho um app_login que diretiona para um app_menu e neste eu tenho no evento Onexecute o seguinte código:
if([usr_group]=== ‘Administrador’){
sc_redir(Menu_principal);
}
if([usr_group]=== ‘Supervisor’){
sc_redir(menu_teste);
}

Porém não está funcionando este direcionamento por grupo ao menu.
Alguém possui alguma ideia ou sugestão sobre isso?

Obrigado!

Somente se ligue que == é diferente de === por isto deve ter pego este resultado imprevisto.
|$a == $b |Igual |Verdadeiro (TRUE) se $a é igual a $b.|
|$a === $b |Idêntico |Verdadeiro (TRUE) se $a é igual a $b, e eles são do mesmo tipo.|

Eu faço assim quando tenho que ter múltiplos menus.
Guardo as referências do menu em um banco de dados e crio ele dinamicamente com as macros de menu numa única app.
sc_reset_menu_delete
sc_reset_menu_disable
sc_appmenu_add_item (“Menu_Nome”, “Id_Item”, “Id_Pai”, “Label”, “Aplicação”, “Parâmetro”, “Icone”, “Hint”, “Target”)
sc_appmenu_create (“Menu_Nome”)
sc_appmenu_exist_item (“Menu_Nome”, “Id_Item”)
sc_appmenu_remove_item (“Menu_Nome”, “Id_Item”)
sc_appmenu_reset (“Menu_Nome”)
sc_appmenu_update_item (“Menu_Nome”, “Id_Item”, “Id_Pai”, “Label”, “Aplicação”, “Parâmetro”, “Icone”, “Hint”, “Target”)
sc_btn_disable (‘id do botão’, ‘on/off’)
sc_menu_delete (Id_Item1)
sc_menu_disable (Id_Item1)
sc_menu_force_mobile (boolean)
sc_menu_item
sc_script_name

Assim quando tenho que modificar algo apenas modifico na base de dados que já reflete no menu.
Se tenho que separar por grupos ou usuário já faço direto na base.

E o select na única aplicação do menu dá conta do resto.

1 Curtida

Eu entendi é interessante sua dica @buhlerax mas como eu tenho só 3 grupos será mais fácil fazer 3 menus e direcionar conforme o grupo.
Tentei fazer desta forma mas não vai fica em branco não direciona.
if([usr_group] === “Administrador”){
sc_redir(Menu_principal);
}
if([usr_group] === “Supervisor”){
sc_redir(menu_teste);
}
tá complicado.

obrigado,

Mas você viu o que falei aqui em cima.
Se não entendeu fica difícil ajudar.

@buhlerax
Sim entendi, agora até funcionou criei um app blank no onexecute coloquei este código, este app blank é chamado após o validade do app_menu.
Porém agora o problema que ele considera sempre o primeiro grupo, se eu tentar entrar com usuário de outro grupo sempre vai aparecer o primeiro grupo que eu loguei.
Será que tem que zerar algo, ou coisa do tipo?
Obrigado,

Se trocou o === por == agora o resto e ver como esta programando este redirecionamento.

@buhlerax
No primeiro acesso funciona, depois ele sempre fica entrando no perfil que eu entrei primeiro no sistema, então acho que alguma coisa fica em cache ou deve ter algum comando para zerar as opções ao entrar no sistema.
Estou tentando descobrir.

Segue a recomendação do post:

Dentro no meu app_login aí deu certo o redirecionamento.
Obrigado.