Mudanças entre as edições de "Manual de criação de Menus e Módulos"
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 130: | Linha 130: | ||
Na tabela MENU_MODULO (bd_ssm_login) é descrito quais menus são pertencentes a quais módulos | Na tabela MENU_MODULO (bd_ssm_login) é descrito quais menus são pertencentes a quais módulos | ||
+ | |||
+ | == Troubleshooting == | ||
+ | |||
+ | '''- Meu módulo não aparece:''' | ||
+ | |||
+ | #Existe ação de visualizar módulo? | ||
+ | #Ação de visualizar módulo está ativa para o perfil em questão? | ||
+ | #Existe algum menu ativo pra esse módulo? | ||
+ | #O módulo está ativo para a empresa em questão? | ||
+ | |||
+ | '''- Meu menu não aparece:''' | ||
+ | |||
+ | #Existe ação de visualizar menu? | ||
+ | #Ação de visualizar menu está ativa para o perfil em questão? | ||
+ | #Você tem certeza que o campo ID_MENU da tabela menu está idêntico ao valor do enum GSIdMenu? | ||
+ | #Existe relação entre Menu e Modulo na tabela MENU_MODULO? | ||
+ | |||
+ | '''- Não consigo abrir meu menu pela pesquisa superior: ''' | ||
+ | |||
+ | #Existe ação de visualizar menu? | ||
+ | #Ação de visualizar menu está ativa para o perfil em questão? | ||
+ | #Você tem certeza que o campo TARGET da tabela menu está idêntico ao valor do enum GSTargetMenu? |
Edição atual tal como às 17h22min de 11 de setembro de 2018
Histórico de Alterações
Data | Quem | Comentários |
---|---|---|
05/09/2018 | Ryvane Maria | Criação do documento |
Criando um módulo
Criar o módulo dentro do pacote br.com.softsite.geosales.portal.client.component.menu.modulo o componente módulo, que deve implementar a interface GSModulo.
Obs: Os códigos abaixo estão disponíveis no GIT. Link: https://gitlab.com/SoftSite/geosales/wikis/cria%C3%A7%C3%A3o-de-menus-e-m%C3%B3dulos
- JAVA:
- UI.XML:
Mapear na classe MenuManager e no método buscaModulo o modulo desejado ao valor no padrão CamelCase. O valor do enum deve ser idêntico ao DS_MODULO do módulo criado no banco
Criar o módulo no banco (bd_ssm_login) (Tabela MODULO), o campo DS_MODULO é a descrição que aparecerá do modulo e o campo NM_MODULO deve ser idêntico ao valor da enumeração equivalente
Criar a ação de visualização do módulo na enumeração GSActions.
Criar dentro do pacote br.com.softsite.geosales.portal.client.component.menu.item o componente menu, que deve implementar a interface GSItemMenu
- JAVA:
- UI.XML:
Criar na enumeração GSIdMenu o menu com o valor criado no padrão CamelCase
Implementar no método buscaMenuModuloPorEnum da enumeração GSIdMenu o mapeamento do enum pra classe criada
Criar na enumeração GSTargetMenu o menu com o valor criado sendo o nome da classe que o menu abre no padrão CamelCase
Criar o menu no banco (bd_ssm_login) (Tabela MENU), o campo ID_MENU deve ser o mesmo exato nome do valor da enumeração criada. O campo DS_MENU é a descrição que irá aparecer do menu. E o campo TARGET deve ser exatamente a classe que o menu abre.
Criar a ação de visualização do menu na enumeração GSActions
A atribuição de menu para um módulo é feita via banco (bd_ssm_login), na tabela MENU_MODULO Criar a ação no banco (bd_ssm_login) na tabela ACAO, o campo ID_ACAO deve ter o mesmo valor do enum criado na enumeração GSActions, o campo DS_ACAO indica a descrição desejada para o módulo, o campo TIPO_ACAO por enquanto tem dois possíveis valores (1- Ação do tipo visualização de módulo, 2- Ação do tipo visualização de menu).
Estrutura de banco
MENU | ||||
---|---|---|---|---|
Coluna | Tipo | Obrigatório | Explicação | |
CD_MENU | INT | SIM | Código do Menu | |
ID_MENU | VARCHAR | SIM | ID do menu que deve ser idêntico ao da enumeração GSIdMenu | |
DS_MENU | VARCHAR | SIM | Descrição que vai aparecer do Menu | |
TARGET | VARCHAR | NÃO | Classe que é aberta quando o Menu é escolhido | |
ATIVO | BIT | NÃO | Flag que identifica se o menu está ou não ativo |
MODULO | ||||
---|---|---|---|---|
Coluna | Tipo | Obrigatório | Explicação | |
CD_MODULO | INT | SIM | Código do Módulo | |
DS_MODULO | VARCHAR | SIM | Descrição que vai aparecer para o Módulo | |
NM_MODULO | VARCHAR | SIM | Nome que será utilizado para mapear o Módulo na aplicação | |
ATIVO | BIT | NÃO | Flag que identifica se o módulo está ou não ativo |
ACAO | ||||
---|---|---|---|---|
Coluna | Tipo | Obrigatório | Explicação | |
CD_ACAO | INT | SIM | Código da ação | |
CD_MODULO | INT | SIM | Código do Módulo ao qual a ação faz parte | |
ID_ACAO | VARCHAR | SIM | Identificador da ação que deve ser idêntico ao enum GSActions | |
DS_ACAO | VARCHAR | NÃO | Descrição desejada da ação | |
TIPO_ACAO | VARCHAR | NÃO | Identificador do Tipo da Ação (1- Ação de Visualização de Módulo e 2 pra Ação de Visualização de Menu) | |
ATIVO | BIT | NÃO | Flag que identifica se a ação está ou não ativa |
Na tabela MODULO_EMPRESA (bd_ssm_login) é descrito quais módulos são utilizados por quais empresas.
Na tabela MENU_MODULO (bd_ssm_login) é descrito quais menus são pertencentes a quais módulos
Troubleshooting
- Meu módulo não aparece:
- Existe ação de visualizar módulo?
- Ação de visualizar módulo está ativa para o perfil em questão?
- Existe algum menu ativo pra esse módulo?
- O módulo está ativo para a empresa em questão?
- Meu menu não aparece:
- Existe ação de visualizar menu?
- Ação de visualizar menu está ativa para o perfil em questão?
- Você tem certeza que o campo ID_MENU da tabela menu está idêntico ao valor do enum GSIdMenu?
- Existe relação entre Menu e Modulo na tabela MENU_MODULO?
- Não consigo abrir meu menu pela pesquisa superior:
- Existe ação de visualizar menu?
- Ação de visualizar menu está ativa para o perfil em questão?
- Você tem certeza que o campo TARGET da tabela menu está idêntico ao valor do enum GSTargetMenu?