Ga naar inhoud

Filters en toegangsregels

Overal waar Tabbr records selecteert, gebruikt het dezelfde filtertaal: in lijsten, toegangsregels, jobs (Van toepassing op), de picklists van de startplaats, berekende groepen, rekeningtypes, inschrijvingtypes, aanmeldingtypes, conformiteitsregels en Wie mag e-mails versturen?.

In de schermen bouw je een filter met keuzelijsten. Technisch ziet hij er zo uit — handig om te begrijpen, en wat je tegenkomt in een export of in het manifest van een module.

Een filter is een lijst regels; een record voldoet als het aan één regel voldoet (OF). Een regel is een lijst voorwaarden die allemaal moeten kloppen (EN).

[
{ "andFilterValues": [ voorwaarde, voorwaarde ] },
{ "andFilterValues": [ voorwaarde ] }
]

Een voorwaarde: { "filterId": "…", "operator": "…", "value": … }.

filterId Betekenis Voorbeeld
root:<veld> Een veld van het record. root:date EQ today()
root.<verwijzing>:<veld> Een veld van een gerelateerd record. root.toestel:soort EQ SP
root:currentUser Dit record (een persoon) is de ingelogde gebruiker.
root.<verwijzing>:currentUser De gerelateerde persoon is de ingelogde gebruiker. Piloot is huidige gebruiker
currentUser:roles De rollen van de ingelogde gebruiker. HAS_ANY ["STARTLEIDER"]
root:roles De rollen van dit record (een persoon). HAS_NONE ["ADMIN"]
root:reverse.<entiteit>.<veld> Heeft een gerelateerde …: de waarde is zelf een filter op dat gerelateerde record. heeft een aanmelding met activiteit.datum = vandaag

Eigen velden staan technisch als slot: root:SLOT13. In het scherm zie je gewoon hun naam.

Operator Betekenis
EQ, NEQ gelijk aan, niet gelijk aan
LT, LTE, GT, GTE kleiner, kleiner of gelijk, groter, groter of gelijk
IN één van deze waarden
HAS_ANY, HAS_ALL, HAS_NONE heeft één van, alle, geen van (voor rollen en meerwaardige velden)
IS_EMPTY, IS_NOT_EMPTY, IS_NULL leeg, niet leeg, null
Waarde Betekenis
today() vandaag
daysFromNow(n) binnen n dagen (negatief: geleden)
monthsAgo(n) n maanden geleden
yearsAgo(n) n jaar geleden
Vluchten van de ingelogde piloot die nog te controleren zijn
[ { "andFilterValues": [
{ "filterId": "root.SLOT2:currentUser" },
{ "filterId": "root:SLOT13", "operator": "EQ", "value": "TE_CONTROLEREN" }
] } ]
Instructeurs die vandaag aangemeld zijn
[ { "andFilterValues": [
{ "filterId": "root:roles", "operator": "HAS_ANY", "value": ["INSTRUCTEUR"] },
{ "filterId": "root:reverse.signup.owner", "value": [
{ "andFilterValues": [ { "filterId": "root.activity:date", "operator": "EQ", "value": "today()" } ] }
] }
] } ]
  • Aanmaken zonder regels: niemand mag aanmaken.
  • Bekijken, Bewerken en Delete zonder regels: iedereen mag het.
  • Bij Bewerken moet het record vóór én na de wijziging aan de regel voldoen.

Meer in Toegangscontrole.