Gestionnaire de navigation
Un gestionnaire de navigation est une règle de vue scriptée qui s’exécute chaque fois que des données de la table spécifiée sont demandées dans la vue de formulaire.
Le script suivant provient du gestionnaire de navigation inclus dans le module d’extension HR. Le script force les enregistrements de la table dans le champ Table à utiliser la vue ESS pour les utilisateurs sans rôle et la vue par défaut pour tous les autres utilisateurs.
var now_GR = new GlideRecord(hr.TABLE_CASE);
if (gr.get(g_uri.get('sys_id'))) {
if (!gs.getUser().hasRoles())
g_uri.set('sysparm_view', 'ess');
else
g_uri.set('sysparm_view', '');
}
answer = g_uri.toString('hr_case.do');
Exécuter les gestionnaires de navigation avant ou après les règles de vue
Utilisez la glide.ui.view_rule.check_after_nav_handler propriété système pour contrôler l’ordre dans lequel les règles de vue et les gestionnaires de navigation sont appliqués. Définissez la valeur de la propriété sur Vrai pour traiter les règles de vue après les gestionnaires de navigation. Si la propriété système n’existe pas dans votre instance, le gestionnaire de navigation a toujours la priorité.
La propriété système remplace le gestionnaire de navigation uniquement si la fonction scriptée du gestionnaire de navigation ne renvoie pas de réponse. Dans l’exemple de script ci-dessus, la propriété n’a aucun effet. Cela est dû au fait que ce gestionnaire de navigation renvoie toujours une réponse car la ligne de réponse se trouve en dehors de l’instruction if .
Cet exemple est une version modifiée du script précédent. Dans ce cas, la ligne de réponse se produit uniquement lorsque l’utilisateur n’a pas de rôles. Si l’utilisateur dispose de rôles, la réponse n’est jamais obtenue et les règles d’affichage de la même table, le cas échéant, sont appliquées.
var now_GR = new GlideRecord(hr.TABLE_CASE);
if (gr.get(g_url.get('sys_id'))) {
if (!gs.getUser().hasRoles()) {
g_url.set('sysparm_view'),'ess');
answer = g_url.toString('hr_case.do');
}
}