Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix

pull/2874/head
ibuler 2019-07-02 22:09:12 +08:00
commit e7d600ee50
2 changed files with 10 additions and 2 deletions

View File

@ -4,7 +4,7 @@ from functools import reduce
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from common.utils import date_expired_default from common.utils import date_expired_default, set_or_append_attr_bulk
from orgs.mixins import OrgModelMixin from orgs.mixins import OrgModelMixin
from .base import BasePermission from .base import BasePermission
@ -79,6 +79,14 @@ class AssetPermission(BasePermission):
def get_queryset_with_prefetch(cls): def get_queryset_with_prefetch(cls):
return cls.objects.all().valid().prefetch_related('nodes', 'assets', 'system_users') return cls.objects.all().valid().prefetch_related('nodes', 'assets', 'system_users')
def get_all_assets(self):
assets = set(self.assets.all())
for node in self.nodes.all():
_assets = node.get_all_assets()
set_or_append_attr_bulk(_assets, 'inherit', node.value)
assets.update(set(_assets))
return assets
class NodePermission(OrgModelMixin): class NodePermission(OrgModelMixin):
id = models.UUIDField(default=uuid.uuid4, primary_key=True) id = models.UUIDField(default=uuid.uuid4, primary_key=True)