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.
Regels en voorwaarden
Section titled “Regels en voorwaarden”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": … }.
Waarop je filtert
Section titled “Waarop je filtert”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.
Operators
Section titled “Operators”| 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 |
Relatieve datums
Section titled “Relatieve datums”| Waarde | Betekenis |
|---|---|
today() |
vandaag |
daysFromNow(n) |
binnen n dagen (negatief: geleden) |
monthsAgo(n) |
n maanden geleden |
yearsAgo(n) |
n jaar geleden |
Voorbeelden
Section titled “Voorbeelden”[ { "andFilterValues": [ { "filterId": "root.SLOT2:currentUser" }, { "filterId": "root:SLOT13", "operator": "EQ", "value": "TE_CONTROLEREN" }] } ][ { "andFilterValues": [ { "filterId": "root:roles", "operator": "HAS_ANY", "value": ["INSTRUCTEUR"] }, { "filterId": "root:reverse.signup.owner", "value": [ { "andFilterValues": [ { "filterId": "root.activity:date", "operator": "EQ", "value": "today()" } ] } ] }] } ]In toegangsregels
Section titled “In toegangsregels”- 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.