Pflichtformulare bei Adressierung an bestimmte Gruppen
Die Formulare in todo4teams stehen für die Adressierung von Tickets an beliebige Adressaten zur Verfügung.
Gelegentlich ist es aber gewünscht, die Verwendung eines Formulars bei der Adressierung von Tickets an ein bestimmtes Team obligatorisch zu machen.
Beispiel: Team X bearbeitet Beschwerden zum Projekt Y. Ein Formular namens "Y Complaints" wurde erzeugt, das strukturiert Daten zu diesen Kundenanliegen erfasst, z.B. Produkttyp, Bausjahr, Software Revisionsnummer etc.
Immer wenn nun ein Ticket an Team X gesendet wird, möchten Sie den Benutzer zur Verwendung des Formulards "Y Complaints" und zum Ausfüllen der wichtigsten Daten aufforden. Ein Absenden des Tickets soll ohne diese korrekte Bearbeitung nicht möglich sein.
Um das zu bewerkstelligen, melden Sie sich in der Rolle "Administratior" an, wechseln Sie zum Tab Gruppen, wählen Sie Gruppe X klicken Sie Ändern. Wechseln Sie in den Tab "Absende-Aktion" fügen Sie dort den folgenden Skript-Code ein:
var theForm = helper.getMetaDataFromTaskByName("Y Complaints");
if(theForm!=null){
var producttype = theForm.getValueByFieldName("Producttype");
if(producttype==null || producttype=="?") {
result="failure";
helper.errorMessage("Please select a product type!");
}
} else {
result="failure";
helper.errorMessage("Please use the form Y Complaints!");
}
Der Befehlt helper.getMetaDataFromTaskByName ermittelt das betreffende Formular. Er liefert null zurück, falls das Formular nicht aktiviert wurde. In dem Fall wird das Skriptergebnis auf 'error' gesetzt. Dadurch wird verhindert, dass das Ticket abgesendet wird. Anschließend wird ein Hinweis an den Benutzer angezeigt.
Falls das Formular aktiviert ist, prüfen wir, ob der Produkttyp einen gültigen Wert enthält und verfahren sonst wie oben beschrieben mit Abbruch und Fehlermeldung.