Beheren
Routeerregels
Met behulp van routeerregels kunnen meldingen op basis van vooringestelde regels gerouteerd worden naar een specifieke afdeling en persoon. Deze routeeregels kunnen door de functioneel beheerder ingesteld worden in de Django admin.
De routeerregels draaien voor een specifieke melding op het moment dat een melding wordt aangemaakt, of de status of categorie van een melding wordt aangepast. Signalen speelt op dat moment voor een melding in volgorde alle ingestelde routeerregels af. De eerste routeerregel die "waar" is, zal winnen. De melding wordt vervolgens toegewezen aan de afdeling en persoon die bij deze routeerregel is geconfigureerd.
Eenmalig type aanmaken
Voordat je aan de slag kunt met routeerregels, maak je een expressietype "routing" aan door in de Django Admin naar ExpressionTypes te gaan en daar een nieuwe ExpressionType toe te voegen met de volgende instellingen:
- Naam: routing
- Description: routing type
Sla deze vervolgens op.
Routeerregels opstellen
Onder het kopje "Expressions" kun je nieuwe routeerregels opstellen. Klik op "Toevoegen" om een nieuwe regel te maken. Geef de routeerregel een beschrijvende naam en kies voor het type "routing". Onder code kun je vervolgens de routeerregel zelf in programmeertaal opstellen.
Hieronder volgen een aantal voorbeelden van logica die je kunt gebruiken:
Melding in specifieke subcategorie
Controleer of een melding in de subcategorie "Putten" staat met:
sub == "Putten"
Melding in een van de subcategorieën
Controleer of een melding in de subcategorieën "Putten" of "Verf" staat met:
sub == "Putten" or sub == "Verf"
Melding in specifieke subcategorie en binnen een specifiek gebied
Controleer of een melding binnen de subcategorie "Verf" en binnen het gebied met de code "Heusden" valt en gebiedstype "district" met:
sub == "Verf" and location in areas."district"."Heusden"
Gebruik van haakjes
Het is mogelijk om and en or te combineren met behulp van haakjes. De volgende expressie kijkt of de subcategorie "Putten" of "Verf" is én of de melding binnen het gebied met de code "Heusden" valt:
(sub == "Putten" or sub == "Verf") and location in areas."district"."Heusden"
Variabelen
Binnen een routeerregel zijn de volgende variabelen beschikbaar:
- sub: De naam van de subcategorie
- main: De naam van de hoofdcategorie
- location: De locatie van de melding
- time: Het tijdstip van de melding (in uren, minuten en seconden)
- day: De dag van de melding (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)
- areas: Alle gebieden die zijn geconfigureerd op de omgeving, gegroepeerd per gebiedstype
Antwoorden op aanvullende vragen
Binnen de variabelen is ook het antwoord op een aanvullende vraag beschikbaar onder de key van de aanvullende vraag. Neem als voorbeeld een aanvullende vraag met de volgende instellingen:
- Key: Verlichting
- Field type: RadioInput
En deze meta:
{
"label": "Wat is het probleem?",
"values": {
"1": "Lamp doet het niet",
"2": "Een hele rij lampen doet het niet",
"3": "Lamp geeft lichthinder (schijnt bijvoorbeeld in slaapkamer)",
"4": "Lamp of lantaarnpaal is beschadigd of niet compleet",
"5": "Anders"
}
}
Dan kan met behulp van de volgende expressie gekeken worden of het antwoord "Lamp doet het niet" of "Anders" is:
Verlichting == "Lamp doet het niet" or Verlichting == "Anders"
Routeerregels toepassen
Nadat een routeerregel is aangemaakt, kan deze toegepast worden voor een specifieke afdeling en persoon. Dit kan door een "Routing expression" aan te maken. Bij het aanmaken van een "Routing expression" kies je:
- De routeerregel die van toepassing is (expression)
- De afdeling waar de routeerregel naartoe routeert als deze "waar" is (department)
- De (eventuele) persoon waar de routeerregel naartoe routeert als deze "waar" is (user)
- De volgorde van de routeerregel ten opzichte van de andere routeerregels (order)
- Of de routeerregel actief is (is active).
Nadat de "Routing expression" is aangemaakt, is de regel actief. Nieuwe meldingen en bestaande meldingen waarvan de locatie of de subcategorie wordt aangepast, zullen gerouteerd worden volgens de "routing expression".