[Update] 优化授权协议, 支持vnc (#2220)

* [Update] 优化授权协议, 支持vnc
This commit is contained in:
老广
2018-12-19 17:03:10 +08:00
committed by GitHub
parent 4a3327bc4b
commit fe7c3c29ad
4 changed files with 40 additions and 9 deletions

View File

@@ -136,7 +136,9 @@ class AssetPermissionUtil:
permissions = self.permissions.prefetch_related('assets', 'system_users')
for perm in permissions:
for asset in perm.assets.all().valid().prefetch_related('nodes'):
assets[asset].update(perm.system_users.all())
assets[asset].update(
perm.system_users.filter(protocol=asset.protocol)
)
return assets
def get_assets(self):
@@ -147,7 +149,9 @@ class AssetPermissionUtil:
for node, system_users in nodes.items():
_assets = node.get_all_assets().valid().prefetch_related('nodes')
for asset in _assets:
assets[asset].update(system_users)
assets[asset].update(
[s for s in system_users if s.protocol == asset.protocol]
)
self._assets = assets
return self._assets