mirror of https://github.com/jumpserver/jumpserver
parent
ac902501ec
commit
e339ed1fb3
@ -0,0 +1,32 @@
|
||||
from rest_framework import filters
|
||||
from rest_framework.compat import coreapi, coreschema
|
||||
|
||||
from orgs.utils import current_org
|
||||
|
||||
|
||||
__all__ = ['CurrentOrgMembersFilter']
|
||||
|
||||
|
||||
class CurrentOrgMembersFilter(filters.BaseFilterBackend):
|
||||
def get_schema_fields(self, view):
|
||||
return [
|
||||
coreapi.Field(
|
||||
name='user', location='query', required=False, type='string',
|
||||
schema=coreschema.String(
|
||||
title='user',
|
||||
description='user'
|
||||
)
|
||||
)
|
||||
]
|
||||
|
||||
def _get_user_list(self):
|
||||
users = current_org.get_org_members(exclude=('Auditor',))
|
||||
return users
|
||||
|
||||
def filter_queryset(self, request, queryset, view):
|
||||
user_id = request.GET.get('user')
|
||||
if user_id:
|
||||
queryset = queryset.filter(user=user_id)
|
||||
else:
|
||||
queryset = queryset.filter(user__in=self._get_user_list())
|
||||
return queryset
|
Loading…
Reference in new issue