[Update] 优化用户授权的 RemoteApp API 过滤逻辑

This commit is contained in:
BaiJiangJie
2019-09-24 16:36:46 +08:00
parent 3f9e2f0af7
commit e805e9cede
2 changed files with 6 additions and 42 deletions

View File

@@ -4,7 +4,7 @@
from orgs.utils import set_to_root_org
__all__ = [
'AssetsFilterMixin', 'RemoteAppFilterMixin', 'ChangeOrgIfNeedMixin',
'AssetsFilterMixin', 'ChangeOrgIfNeedMixin',
]
@@ -68,41 +68,6 @@ class AssetsFilterMixin(object):
return _queryset
class RemoteAppFilterMixin(object):
"""
对RemoteApp进行过滤(查询,排序)
"""
def filter_queryset(self, queryset):
queryset = self.search_remote_apps(queryset)
queryset = self.sort_remote_apps(queryset)
return queryset
def search_remote_apps(self, queryset):
value = self.request.query_params.get('search')
if not value:
return queryset
queryset = [
remote_app for remote_app in queryset if value in remote_app.name
]
return queryset
def sort_remote_apps(self, queryset):
order_by = self.request.query_params.get('order')
if not order_by:
order_by = 'name'
if order_by.startswith('-'):
order_by = order_by.lstrip('-')
reverse = True
else:
reverse = False
queryset = sorted(
queryset, key=lambda x: getattr(x, order_by), reverse=reverse
)
return queryset
class ChangeOrgIfNeedMixin(object):
@staticmethod