mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-07-07 20:08:58 +00:00
[Update] 修改Node
This commit is contained in:
parent
bbe4080008
commit
b5f6f80ae6
@ -31,7 +31,6 @@ class NodeGrantedSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_assets_amount(obj):
|
def get_assets_amount(obj):
|
||||||
return 1
|
|
||||||
return len(obj.assets_granted)
|
return len(obj.assets_granted)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -40,7 +39,6 @@ class NodeGrantedSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_parent(obj):
|
def get_parent(obj):
|
||||||
return '0'
|
|
||||||
return obj.parent.id
|
return obj.parent.id
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
import warnings
|
import warnings
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
from django.forms import ModelForm
|
from django.forms import ModelForm
|
||||||
|
|
||||||
from common.utils import get_logger
|
from common.utils import get_logger
|
||||||
@ -12,6 +11,9 @@ from .models import Organization
|
|||||||
|
|
||||||
logger = get_logger(__file__)
|
logger = get_logger(__file__)
|
||||||
|
|
||||||
|
from threading import local
|
||||||
|
|
||||||
|
tl = local()
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'OrgManager', 'OrgViewGenericMixin', 'OrgModelMixin', 'OrgModelForm'
|
'OrgManager', 'OrgViewGenericMixin', 'OrgModelMixin', 'OrgModelForm'
|
||||||
@ -19,12 +21,15 @@ __all__ = [
|
|||||||
|
|
||||||
|
|
||||||
class OrgManager(models.Manager):
|
class OrgManager(models.Manager):
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
current_org = get_current_org()
|
current_org = get_current_org()
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
|
if not hasattr(tl, 'times'):
|
||||||
|
tl.times = 0
|
||||||
|
|
||||||
# print(">>>>>>>>>> Get query set")
|
print("[{}]>>>>>>>>>> Get query set".format(tl.times))
|
||||||
# print(current_org)
|
print(current_org)
|
||||||
if not current_org:
|
if not current_org:
|
||||||
kwargs['id'] = None
|
kwargs['id'] = None
|
||||||
elif current_org.is_real():
|
elif current_org.is_real():
|
||||||
@ -35,6 +40,7 @@ class OrgManager(models.Manager):
|
|||||||
queryset = queryset.filter(**kwargs)
|
queryset = queryset.filter(**kwargs)
|
||||||
# print(kwargs)
|
# print(kwargs)
|
||||||
# print(queryset.query)
|
# print(queryset.query)
|
||||||
|
tl.times += 1
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
def all(self):
|
def all(self):
|
||||||
|
@ -55,7 +55,7 @@ class Organization(models.Model):
|
|||||||
def get_org_users(self):
|
def get_org_users(self):
|
||||||
from users.models import User
|
from users.models import User
|
||||||
if self.is_default():
|
if self.is_default():
|
||||||
return User.objects.all()
|
return User.objects.filter(orgs__isnull=True)
|
||||||
else:
|
else:
|
||||||
return self.users.all()
|
return self.users.all()
|
||||||
|
|
||||||
|
@ -38,10 +38,8 @@ class UserViewSet(IDInFilterMixin, BulkModelViewSet):
|
|||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
queryset = super().get_queryset()
|
queryset = super().get_queryset()
|
||||||
current_org = get_current_org()
|
current_org = get_current_org()
|
||||||
if current_org.is_real():
|
org_users = current_org.get_org_users().values_list('id', flat=True)
|
||||||
queryset = queryset.filter(orgs=current_org)
|
queryset = queryset.filter(id__in=org_users)
|
||||||
elif current_org.is_default():
|
|
||||||
queryset = queryset.filter(orgs=None)
|
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
def get_permissions(self):
|
def get_permissions(self):
|
||||||
@ -112,7 +110,6 @@ class UserGroupViewSet(BulkModelViewSet):
|
|||||||
permission_classes = (IsSuperUser,)
|
permission_classes = (IsSuperUser,)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class UserGroupUpdateUserApi(generics.RetrieveUpdateAPIView):
|
class UserGroupUpdateUserApi(generics.RetrieveUpdateAPIView):
|
||||||
queryset = UserGroup.objects.all()
|
queryset = UserGroup.objects.all()
|
||||||
serializer_class = UserGroupUpdateMemeberSerializer
|
serializer_class = UserGroupUpdateMemeberSerializer
|
||||||
|
@ -301,9 +301,7 @@ class UserGroupForm(forms.ModelForm):
|
|||||||
instance = kwargs.get('instance')
|
instance = kwargs.get('instance')
|
||||||
if instance:
|
if instance:
|
||||||
initial = kwargs.get('initial', {})
|
initial = kwargs.get('initial', {})
|
||||||
initial.update({
|
initial.update({'users': instance.users.all()})
|
||||||
'users': instance.users.all(),
|
|
||||||
})
|
|
||||||
kwargs['initial'] = initial
|
kwargs['initial'] = initial
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
if 'initial' not in kwargs:
|
if 'initial' not in kwargs:
|
||||||
@ -311,7 +309,7 @@ class UserGroupForm(forms.ModelForm):
|
|||||||
users_field = self.fields.get('users')
|
users_field = self.fields.get('users')
|
||||||
if hasattr(users_field, 'queryset'):
|
if hasattr(users_field, 'queryset'):
|
||||||
current_org = get_current_org()
|
current_org = get_current_org()
|
||||||
users_field.queryset = User.objects.filter(orgs=current_org)
|
users_field.queryset = current_org.get_org_users()
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
group = super().save(commit=commit)
|
group = super().save(commit=commit)
|
||||||
|
@ -365,13 +365,14 @@ class LoginLogListView(AdminUserRequiredMixin, DatetimeSearchMixin, ListView):
|
|||||||
user = keyword = ""
|
user = keyword = ""
|
||||||
date_to = date_from = None
|
date_to = date_from = None
|
||||||
|
|
||||||
def get_allow_users(self):
|
@staticmethod
|
||||||
|
def get_org_users():
|
||||||
current_org = get_current_org()
|
current_org = get_current_org()
|
||||||
users = current_org.get_org_users().values_list('username', flat=True)
|
users = current_org.get_org_users().values_list('username', flat=True)
|
||||||
return users
|
return users
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
users = self.get_allow_users()
|
users = self.get_org_users()
|
||||||
queryset = super().get_queryset().filter(username__in=users)
|
queryset = super().get_queryset().filter(username__in=users)
|
||||||
self.user = self.request.GET.get('user', '')
|
self.user = self.request.GET.get('user', '')
|
||||||
self.keyword = self.request.GET.get("keyword", '')
|
self.keyword = self.request.GET.get("keyword", '')
|
||||||
@ -397,7 +398,7 @@ class LoginLogListView(AdminUserRequiredMixin, DatetimeSearchMixin, ListView):
|
|||||||
'date_to': self.date_to,
|
'date_to': self.date_to,
|
||||||
'user': self.user,
|
'user': self.user,
|
||||||
'keyword': self.keyword,
|
'keyword': self.keyword,
|
||||||
'user_list': self.get_allow_users(),
|
'user_list': self.get_org_users(),
|
||||||
}
|
}
|
||||||
kwargs.update(context)
|
kwargs.update(context)
|
||||||
return super().get_context_data(**kwargs)
|
return super().get_context_data(**kwargs)
|
Loading…
Reference in New Issue
Block a user