mirror of https://github.com/jumpserver/jumpserver
Update perm api
parent
034f0a02b1
commit
3639b190e3
|
@ -89,9 +89,8 @@ class Asset(models.Model):
|
||||||
date_created = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name=_('Date created'))
|
date_created = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name=_('Date created'))
|
||||||
comment = models.TextField(max_length=128, default='', blank=True, verbose_name=_('Comment'))
|
comment = models.TextField(max_length=128, default='', blank=True, verbose_name=_('Comment'))
|
||||||
|
|
||||||
def __unicode__(self):
|
def __str__(self):
|
||||||
return '%s <%s: %s>' % (self.hostname, self.ip, self.port)
|
return '%s <%s: %s>' % (self.hostname, self.ip, self.port)
|
||||||
__str__ = __unicode__
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def is_valid(self):
|
def is_valid(self):
|
||||||
|
|
|
@ -140,11 +140,25 @@ class UserGrantedAssetGroupsApi(ListAPIView):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
user_id = self.kwargs.get('pk', '')
|
user_id = self.kwargs.get('pk', '')
|
||||||
|
|
||||||
if user_id:
|
if not user_id:
|
||||||
user = get_object_or_404(User, id=user_id)
|
return []
|
||||||
queryset = get_user_granted_asset_groups(user)
|
|
||||||
else:
|
user = get_object_or_404(User, id=user_id)
|
||||||
queryset = []
|
if user:
|
||||||
|
asset_groups = {}
|
||||||
|
for asset, system_ in get_user_granted_assets(user).items():
|
||||||
|
for asset_group in asset.groups.all():
|
||||||
|
if asset_group.id in asset_groups:
|
||||||
|
asset_groups[asset_group.id]['assets_amount'] += 1
|
||||||
|
else:
|
||||||
|
asset_groups[asset_group.id] = {
|
||||||
|
'id': asset_group.id,
|
||||||
|
'name': asset_group.name,
|
||||||
|
'comment': asset_group.comment,
|
||||||
|
'assets_amount': 1
|
||||||
|
}
|
||||||
|
asset_groups_json = asset_groups.values()
|
||||||
|
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
@ -166,10 +180,11 @@ class MyGrantedAssetsApi(ListAPIView):
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class MyGrantedAssetsGroupsApi(APIView):
|
class MyGrantedAssetsGroupsApi(APIView):
|
||||||
"""授权给用户的资产组列表, 非直接通过授权规则授权的资产组列表, 而是授权资产的所有
|
"""
|
||||||
资产组之和"""
|
授权给用户的资产组列表, 非直接通过授权规则授权的资产组列表, 而是授权资产的所有
|
||||||
|
资产组之和
|
||||||
|
"""
|
||||||
permission_classes = (IsValidUser,)
|
permission_classes = (IsValidUser,)
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
|
@ -201,13 +216,6 @@ class MyAssetGroupAssetsApi(ListAPIView):
|
||||||
asset_groups[0] = {
|
asset_groups[0] = {
|
||||||
'id': 0, 'name': 'ungrouped', 'assets': []
|
'id': 0, 'name': 'ungrouped', 'assets': []
|
||||||
}
|
}
|
||||||
# asset_group = {
|
|
||||||
# 1: {'id': 1, 'name': 'hello',
|
|
||||||
# 'assets': [{
|
|
||||||
# 'id': 'asset_id',
|
|
||||||
# 'system_users': [{'id': 'system_user_id',...},]
|
|
||||||
# }],
|
|
||||||
# 'assets_id': set()}, 2: {}}
|
|
||||||
user = request.user
|
user = request.user
|
||||||
|
|
||||||
if user:
|
if user:
|
||||||
|
|
|
@ -190,6 +190,11 @@ def get_user_granted_assets(user):
|
||||||
return assets
|
return assets
|
||||||
|
|
||||||
|
|
||||||
|
def get_user_granted_asset_groups(user):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_user_group_asset_permissions(user_group):
|
def get_user_group_asset_permissions(user_group):
|
||||||
permissions = user_group.asset_permissions.all()
|
permissions = user_group.asset_permissions.all()
|
||||||
return permissions
|
return permissions
|
||||||
|
|
|
@ -167,7 +167,6 @@ def generate_token(request, user):
|
||||||
token = cache.get('%s_%s' % (user.id, remote_addr))
|
token = cache.get('%s_%s' % (user.id, remote_addr))
|
||||||
if not token:
|
if not token:
|
||||||
token = uuid.uuid4().hex
|
token = uuid.uuid4().hex
|
||||||
print('Set cache: %s' % token)
|
|
||||||
cache.set(token, user.id, expiration)
|
cache.set(token, user.id, expiration)
|
||||||
cache.set('%s_%s' % (user.id, remote_addr), token, expiration)
|
cache.set('%s_%s' % (user.id, remote_addr), token, expiration)
|
||||||
return token
|
return token
|
||||||
|
|
Loading…
Reference in New Issue