mirror of https://github.com/jumpserver/jumpserver
				
				
				
			fix(users): 修复用户在不同组织引起的问题
							parent
							
								
									8227f44058
								
							
						
					
					
						commit
						ddb71c43c4
					
				| 
						 | 
					@ -44,9 +44,7 @@ class UserViewSet(CommonApiMixin, UserQuerysetMixin, BulkModelViewSet):
 | 
				
			||||||
    def get_queryset(self):
 | 
					    def get_queryset(self):
 | 
				
			||||||
        return super().get_queryset().annotate(
 | 
					        return super().get_queryset().annotate(
 | 
				
			||||||
            gc_m2m_org_members__role=GroupConcat('m2m_org_members__role'),
 | 
					            gc_m2m_org_members__role=GroupConcat('m2m_org_members__role'),
 | 
				
			||||||
            gc_groups__name=GroupConcat('groups__name'),
 | 
					        ).prefetch_related('groups')
 | 
				
			||||||
            gc_groups=GroupConcat('groups__id', output_field=CharField())
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def send_created_signal(self, users):
 | 
					    def send_created_signal(self, users):
 | 
				
			||||||
        if not isinstance(users, list):
 | 
					        if not isinstance(users, list):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -560,12 +560,6 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, AbstractUser):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
    def groups_display(self):
 | 
					    def groups_display(self):
 | 
				
			||||||
        if hasattr(self, 'gc_groups__name'):
 | 
					 | 
				
			||||||
            names = self.gc_groups__name
 | 
					 | 
				
			||||||
            if isinstance(names, str):
 | 
					 | 
				
			||||||
                return ' '.join(set(self.gc_groups__name.split(',')))
 | 
					 | 
				
			||||||
            else:
 | 
					 | 
				
			||||||
                return ''
 | 
					 | 
				
			||||||
        return ' '.join([group.name for group in self.groups.all()])
 | 
					        return ' '.join([group.name for group in self.groups.all()])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,9 +44,6 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
 | 
				
			||||||
        label=_('Password strategy'), write_only=True
 | 
					        label=_('Password strategy'), write_only=True
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    mfa_level_display = serializers.ReadOnlyField(source='get_mfa_level_display')
 | 
					    mfa_level_display = serializers.ReadOnlyField(source='get_mfa_level_display')
 | 
				
			||||||
    groups = GroupConcatedPrimaryKeyRelatedField(
 | 
					 | 
				
			||||||
        label=_('User group'), many=True, queryset=UserGroup.objects.all(), required=False
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
    login_blocked = serializers.SerializerMethodField()
 | 
					    login_blocked = serializers.SerializerMethodField()
 | 
				
			||||||
    can_update = serializers.SerializerMethodField()
 | 
					    can_update = serializers.SerializerMethodField()
 | 
				
			||||||
    can_delete = serializers.SerializerMethodField()
 | 
					    can_delete = serializers.SerializerMethodField()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue