mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 00:28:16 -06:00
Resolve $user token to User.id for use in permissions based on custom fields
This commit is contained in:
parent
dab27695b9
commit
05bcfd7722
@ -1,7 +1,10 @@
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.apps import apps
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
|
from users.constants import CONSTRAINT_TOKEN_USER
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'get_permission_for_model',
|
'get_permission_for_model',
|
||||||
'permission_is_exempt',
|
'permission_is_exempt',
|
||||||
@ -93,6 +96,9 @@ def qs_filter_from_constraints(constraints, tokens=None):
|
|||||||
def _replace_tokens(value, tokens):
|
def _replace_tokens(value, tokens):
|
||||||
if type(value) is list:
|
if type(value) is list:
|
||||||
return list(map(lambda v: tokens.get(v, v), value))
|
return list(map(lambda v: tokens.get(v, v), value))
|
||||||
|
User = apps.get_model('users.User')
|
||||||
|
if value == CONSTRAINT_TOKEN_USER and type(tokens[CONSTRAINT_TOKEN_USER] is User):
|
||||||
|
return tokens[CONSTRAINT_TOKEN_USER].id
|
||||||
return tokens.get(value, value)
|
return tokens.get(value, value)
|
||||||
|
|
||||||
params = Q()
|
params = Q()
|
||||||
|
Loading…
Reference in New Issue
Block a user