mirror of https://github.com/jumpserver/jumpserver
Modify some bug
parent
a091036744
commit
06b2c623cb
|
@ -32,38 +32,29 @@ class AssetPermission(models.Model):
|
|||
return True
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def set_inherited(obj, inherited_from=None):
|
||||
setattr(obj, 'inherited', True)
|
||||
setattr(obj, 'inherited_from', inherited_from)
|
||||
return obj
|
||||
|
||||
@staticmethod
|
||||
def set_non_inherited(obj):
|
||||
setattr(obj, 'inherited', False)
|
||||
return obj
|
||||
|
||||
def get_granted_users(self):
|
||||
users_granted_direct = map(self.set_non_inherited, self.users.all())
|
||||
return list(set(users_granted_direct) | self.get_granted_user_groups_member())
|
||||
return list(set(self.users.all()) | self.get_granted_user_groups_member())
|
||||
|
||||
def get_granted_user_groups_member(self):
|
||||
users = set()
|
||||
for user_group in self.user_groups.all():
|
||||
for user in user_group.users.all():
|
||||
user = self.set_inherited(user, inherited_from=user_group)
|
||||
setattr(user, 'is_inherit_from_user_groups', True)
|
||||
setattr(user, 'inherit_from_user_groups',
|
||||
getattr(user, b'inherit_from_user_groups', set()).add(user_group))
|
||||
users.add(user)
|
||||
return users
|
||||
|
||||
def get_granted_assets(self):
|
||||
assets_granted_direct = map(self.set_non_inherited, self.assets.all())
|
||||
return list(set(assets_granted_direct or []) | self.get_granted_asset_groups_member())
|
||||
return list(set(self.assets.all()) | self.get_granted_asset_groups_member())
|
||||
|
||||
def get_granted_asset_groups_member(self):
|
||||
assets = set()
|
||||
for asset_group in self.asset_groups.all():
|
||||
for asset in asset_group.assets.all():
|
||||
asset = self.set_inherited(asset, inherited_from=asset_group)
|
||||
setattr(asset, 'is_inherit_from_asset_groups', True)
|
||||
setattr(asset, 'inherit_from_asset_groups',
|
||||
getattr(asset, b'inherit_from_user_groups', set()).add(asset_group))
|
||||
assets.add(asset)
|
||||
return assets
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</li>
|
||||
<li class="active">
|
||||
<a href="{% url 'perms:asset-permission-asset-list' pk=asset_permission.id %}" class="text-center">
|
||||
<i class="fa fa-bar-chart-o"></i> {% trans 'Assets and asset gruops' %}</a>
|
||||
<i class="fa fa-bar-chart-o"></i> {% trans 'Assets and asset groups' %}</a>
|
||||
</li>
|
||||
<form id="search_form" method="get" action="" class="pull-right mail-search">
|
||||
<div class="input-group">
|
||||
|
@ -85,7 +85,7 @@
|
|||
</td>
|
||||
|
||||
<td>
|
||||
<button class="btn btn-danger btn-xs btn_delete_user_group" type="button" style="float: right;"><i class="fa fa-minus"></i></button>
|
||||
<button title="{{ asset.inherit_from_asset_groups }}" class="btn btn-danger btn-xs {% if asset.is_inherit_from_asset_groups %} disabled {% endif %}" type="button" style="float: right;"><i class="fa fa-minus"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<a href="{% url 'perms:asset-permission-asset-list' pk=asset_permission.id %}" class="text-center">
|
||||
<i class="fa fa-bar-chart-o"></i> {% trans 'Assets and asset gruops' %}</a>
|
||||
<i class="fa fa-bar-chart-o"></i> {% trans 'Assets and asset groups' %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -76,10 +76,6 @@
|
|||
<td>{% trans 'System user count' %}:</td>
|
||||
<td><b>{{ asset_permission.system_users.count }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Action' %}:</td>
|
||||
<td><b>{{ asset_permission.get_action_display }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Date expired' %}:</td>
|
||||
<td><b>{{ asset_permission.date_expired }}</b></td>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</li>
|
||||
<li>
|
||||
<a href="{% url 'perms:asset-permission-asset-list' pk=asset_permission.id %}" class="text-center">
|
||||
<i class="fa fa-bar-chart-o"></i> {% trans 'Assets and asset gruops' %}</a>
|
||||
<i class="fa fa-bar-chart-o"></i> {% trans 'Assets and asset groups' %}</a>
|
||||
</li>
|
||||
<form id="search_form" method="get" action="" class="pull-right mail-search">
|
||||
<div class="input-group">
|
||||
|
@ -85,7 +85,7 @@
|
|||
</td>
|
||||
|
||||
<td>
|
||||
<button class="btn btn-danger btn-xs btn_delete_user_group {% if user.inherited %} disabled {% endif %}" type="button" style="float: right;"><i class="fa fa-minus"></i></button>
|
||||
<button class="btn btn-danger btn-xs btn_delete_user_group {% if user.is_inherit_from_user_groups %} disabled {% endif %}" type="button" style="float: right;"><i class="fa fa-minus"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
|
@ -73,10 +73,6 @@ def get_user_granted_asset_groups_inherit_from_user_groups(user):
|
|||
:return: {asset_group: {system_user1, }, asset_group2: {system_user1, system_user2]}
|
||||
"""
|
||||
asset_groups = {}
|
||||
|
||||
if not isinstance(user, User):
|
||||
return asset_groups
|
||||
|
||||
user_groups = user.groups.all()
|
||||
asset_permissions = set()
|
||||
|
||||
|
@ -140,7 +136,7 @@ def get_user_granted_assets_direct(user):
|
|||
|
||||
|
||||
def get_user_granted_assets_inherit_from_user_groups(user):
|
||||
"""Return all assets granted of the user
|
||||
"""Return assets granted of the user inherit from user groups
|
||||
|
||||
:param user: Instance of :class: ``User``
|
||||
:return: {asset1: {system_user1, system_user2}, asset2: {...}}
|
||||
|
@ -160,6 +156,11 @@ def get_user_granted_assets_inherit_from_user_groups(user):
|
|||
|
||||
|
||||
def get_user_granted_assets(user):
|
||||
"""Return assets granted of the user inherit from user groups
|
||||
|
||||
:param user: Instance of :class: ``User``
|
||||
:return: {asset1: {system_user1, system_user2}, asset2: {...}}
|
||||
"""
|
||||
assets_direct = get_user_granted_assets_direct(user)
|
||||
assets_inherited = get_user_granted_assets_inherit_from_user_groups(user)
|
||||
assets = assets_inherited
|
||||
|
|
|
@ -17,10 +17,12 @@
|
|||
<div class="ibox float-e-margins">
|
||||
<div class="panel-options">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="" class="text-center"><i class="fa fa-laptop"></i> {% trans 'User detail' %} </a>
|
||||
<li class="active">
|
||||
<a href="" class="text-center"><i class="fa fa-laptop"></i> {% trans 'User detail' %} </a>
|
||||
</li>
|
||||
<li><a href="" class="text-center"><i class="fa fa-bar-chart-o"></i> {% trans 'User assets' %}</a></li>
|
||||
<li><a href="" class="text-center"><i class="fa fa-bar-chart-o"></i> {% trans 'User log' %}</a></li>
|
||||
<li><a href="" class="text-center"><i class="fa fa-bar-chart-o"></i> {% trans 'Asset permission list' %}</a></li>
|
||||
<li><a href="" class="text-center"><i class="fa fa-cubes"></i> {% trans 'Asset granted' %}</a></li>
|
||||
<li><a href="" class="text-center"><i class="fa fa-calculator-o"></i> {% trans 'Login history' %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab-content">
|
||||
|
|
Loading…
Reference in New Issue