mirror of https://github.com/jumpserver/jumpserver
perf: 优化 json m2m filter
parent
aad804f1af
commit
40d8a71bf8
|
@ -502,7 +502,7 @@ class JSONManyToManyDescriptor:
|
|||
value = [value.id]
|
||||
value = set(map(str, value))
|
||||
rule_value = set(map(str, rule_value))
|
||||
res &= value.issubset(rule_value)
|
||||
res &= value & rule_value
|
||||
else:
|
||||
logging.error("unknown match: {}".format(rule['match']))
|
||||
res &= False
|
||||
|
|
|
@ -104,13 +104,15 @@ class NativeClient(TextChoices):
|
|||
xpack_protocols = cls.xpack_protocols()
|
||||
|
||||
for protocol, _clients in clients_map.items():
|
||||
if not settings.XPACK_ENABLED and protocol in xpack_protocols:
|
||||
continue
|
||||
|
||||
if isinstance(_clients, dict):
|
||||
if os == 'all':
|
||||
_clients = list(itertools.chain(*_clients.values()))
|
||||
else:
|
||||
_clients = _clients.get(os, _clients['default'])
|
||||
if protocol in xpack_protocols:
|
||||
continue
|
||||
|
||||
for client in _clients:
|
||||
if not settings.XPACK_ENABLED and client in cls.xpack_methods():
|
||||
continue
|
||||
|
|
Loading…
Reference in New Issue