[Update] 修改Node

pull/1571/head
ibuler 2018-07-20 13:25:50 +08:00
parent bbe4080008
commit b5f6f80ae6
6 changed files with 18 additions and 18 deletions

View File

@ -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

View File

@ -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):

View File

@ -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()

View File

@ -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

View File

@ -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)

View File

@ -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)