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