import / fix --> unions list / paginate orgs list in rancher link
This commit is contained in:
@@ -388,6 +388,26 @@ class OrganizationViewSet(BaseViewSet, ModelViewSet, DynamicSearchMixin):
|
|||||||
serializer = self.serializer_class(page, many=True)
|
serializer = self.serializer_class(page, many=True)
|
||||||
return self.get_paginated_response(serializer.data)
|
return self.get_paginated_response(serializer.data)
|
||||||
|
|
||||||
|
@action(
|
||||||
|
methods=['get'],
|
||||||
|
detail=False,
|
||||||
|
url_path='get_union_orgs',
|
||||||
|
url_name='get_union_orgs',
|
||||||
|
name='get_union_orgs',
|
||||||
|
)
|
||||||
|
def get_union_orgs(self, request):
|
||||||
|
"""
|
||||||
|
list of unions
|
||||||
|
"""
|
||||||
|
|
||||||
|
unions = self.get_queryset(visibility_by_org_scope=True)
|
||||||
|
|
||||||
|
page = self.paginate_queryset(unions.filter(type__key='U'))
|
||||||
|
if page is not None: # noqa
|
||||||
|
serializer = self.serializer_class(page, many=True)
|
||||||
|
return self.get_paginated_response(serializer.data)
|
||||||
|
return Response(status=status.HTTP_200_OK)
|
||||||
|
|
||||||
@action(
|
@action(
|
||||||
methods=['get'],
|
methods=['get'],
|
||||||
detail=False,
|
detail=False,
|
||||||
|
|||||||
@@ -10,19 +10,19 @@ class RancherOrganizationService:
|
|||||||
different services of ranchers linked to organization
|
different services of ranchers linked to organization
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def orgs_linked_rancher(self, org: Organization = None):
|
def orgs_linked_rancher(self, org: Organization = None, org_type_key: str = None):
|
||||||
"""
|
"""
|
||||||
list of organizations with their information of rancher, herd, ....
|
list of organizations with their information of rancher, herd, ....
|
||||||
"""
|
"""
|
||||||
if org.type.key != 'ADM':
|
if org.type.key != 'ADM':
|
||||||
organizations = get_all_org_child(org)
|
organizations = get_all_org_child(org)
|
||||||
else:
|
else:
|
||||||
organizations = Organization.objects.filter(type__key='CO')
|
organizations = Organization.objects.filter(type__key=org_type_key)
|
||||||
|
|
||||||
linked_qs = RancherOrganizationLink.objects.select_related(
|
linked_qs = RancherOrganizationLink.objects.select_related(
|
||||||
'rancher',
|
'rancher',
|
||||||
'organization'
|
'organization'
|
||||||
).filter(organization__in=organizations, organization__type__key='CO')
|
).filter(organization__in=organizations, organization__type__key=org_type_key)
|
||||||
|
|
||||||
organizations = organizations.annotate(
|
organizations = organizations.annotate(
|
||||||
rancher_count=Count(
|
rancher_count=Count(
|
||||||
|
|||||||
@@ -303,9 +303,10 @@ class RancherOrganizationLinkViewSet(
|
|||||||
list of organizations with rancher information
|
list of organizations with rancher information
|
||||||
"""
|
"""
|
||||||
org = get_organization_by_user(request.user)
|
org = get_organization_by_user(request.user)
|
||||||
result = self.orgs_linked_rancher(org=org)
|
result = self.orgs_linked_rancher(org=org, org_type_key='CO')
|
||||||
|
|
||||||
return Response(result)
|
page = self.paginate_queryset(result) # paginate queryset
|
||||||
|
return self.get_paginated_response(result)
|
||||||
|
|
||||||
@action(
|
@action(
|
||||||
methods=['get'],
|
methods=['get'],
|
||||||
|
|||||||
Reference in New Issue
Block a user