Créer une action d’interface utilisateur pour activer la création d’articles de la base de connaissances à partir d’incidents

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 1 minute de lecture
  • Créez une action d’interface utilisateur pour ajouter la case à cocher Connaissances au formulaire Incident.

    Avant de commencer

    Rôle requis : administrateur

    Procédure

    1. Accédez à la Interface utilisateur du système > Actions d'interface utilisateur.
    2. Cliquez sur Nouveau.
    3. Renseignez les champs suivants.
      Tableau 1. Formulaire Action d’interface utilisateur
      Champ Description
      Nom Créer un article de base de connaissances
      Table Incident
      Nom de l'action create_knowledge
    4. Cochez la case Client .
    5. Cochez la case Liste v3 compatible.
    6. Cochez la case Bouton du formulaire.
    7. Dans le champ Onclick, saisissez createKnowledgeClient().
    8. Dans le champ Condition , entrez gs.getProperty(« enable_kcs_incident ») == 'true' & new global. CSMTableMapUtil (current).findMapByName(« incident_kcs_article ») & nouveau global. KBKnowledge().canCreate().
    9. Dans le champ Script, entrez le code suivant.
      function createKnowledgeClient() {
          if (g_form.modified) {
              alert(new GwtMessage().getMessage('You have unsaved changes. Please save them to continue.'));    
          }else{
              //Call the UI Action again but skip the 'onclick' function
              gsftSubmit(null, g_form.getFormElement(), 'create_knowledge');
      //MUST call the 'Action name' set in this UI Action
          }
      }
      
      //Code that runs without 'onclick'
      //Ensure call to server-side function with no browser errors
      if (typeof window == 'undefined')
          CreateKnowledgeServer();
      
      function CreateKnowledgeServer(){
          current.update();
      
          var map = new global.CSMTableMapUtil (current);
          map.findMapByName("incident_kcs_article");
          var targetURL = map.getTargetURL();
              if(targetURL)
              action.setRedirectURL(targetURL[0]);
      }