mirror of https://github.com/jumpserver/jumpserver
[Update] 更改授权规则前commit
parent
a10ff5930f
commit
2bc5e882fd
|
@ -318,7 +318,7 @@ class NodeViewSet(BulkModelViewSet):
|
|||
serializer_class = serializers.NodeSerializer
|
||||
|
||||
def perform_create(self, serializer):
|
||||
child_id = Node.get_root_node().get_next_child_id()
|
||||
child_id = Node.root().get_next_child_id()
|
||||
serializer.validated_data["id"] = child_id
|
||||
serializer.save()
|
||||
|
||||
|
@ -332,7 +332,7 @@ class NodeChildrenApi(mixins.ListModelMixin, generics.CreateAPIView):
|
|||
def post(self, request, *args, **kwargs):
|
||||
if not request.data.get("name"):
|
||||
request.data["name"] = _("New node {}").format(
|
||||
Node.get_root_node().get_next_child_id().split(":")[-1]
|
||||
Node.root().get_next_child_id().split(":")[-1]
|
||||
)
|
||||
return super().post(request, *args, **kwargs)
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ class Node(models.Model):
|
|||
return assets
|
||||
|
||||
@classmethod
|
||||
def get_root_node(cls):
|
||||
def root(cls):
|
||||
obj, created = cls.objects.get_or_create(
|
||||
id='0', defaults={"id": '0', 'name': "ROOT"}
|
||||
)
|
||||
|
|
|
@ -43,9 +43,9 @@
|
|||
<div class="row">
|
||||
<div class="col-lg-3">
|
||||
<div class="ibox float-e-margins">
|
||||
<div class="ibox-content mailbox-content">
|
||||
<div class="file-manager">
|
||||
<h5>Tree View</h5>
|
||||
<div class="ibox-content mailbox-content" style="padding-top: 0">
|
||||
<div class="file-manager ">
|
||||
{# <h5>Tree View</h5>#}
|
||||
<div id="assetTree" class="ztree">
|
||||
</div>
|
||||
|
||||
|
|
|
@ -67,3 +67,20 @@ class AssetPermission(models.Model):
|
|||
if cluster_remain:
|
||||
errors[system_user] = cluster_remain
|
||||
return errors
|
||||
|
||||
|
||||
class NodePermission(models.Model):
|
||||
node = models.ForeignKey('assets.Node', on_delete=models.CASCADE, verbose_name=_("Node"))
|
||||
user_group = models.ForeignKey('users.UserGroup', on_delete=models.CASCADE, verbose_name=_("User group"))
|
||||
system_user = models.ForeignKey('assets.SystemUser', on_delete=models.CASCADE, verbose_name=_("System user"))
|
||||
is_active = models.BooleanField(default=True, verbose_name=_('Active'))
|
||||
date_expired = models.DateTimeField(default=date_expired_default, verbose_name=_('Date expired'))
|
||||
created_by = models.CharField(max_length=128, blank=True, verbose_name=_('Created by'))
|
||||
date_created = models.DateTimeField(auto_now_add=True, verbose_name=_('Date created'))
|
||||
comment = models.TextField(verbose_name=_('Comment'), blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return "{}:{}:{}".format(self.node.name, self.user_group.name, self.system_user.name)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('node', 'user_group', 'system_user')
|
||||
|
|
Loading…
Reference in New Issue