mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-08-25 17:39:25 +00:00
* feat: 改密计划支持数据库改密 * fix: 将数据库账户信息不保存在资产信息里,保存到自己的存储中 * perf: 早餐村 * perf: 修改account * perf: 修改app和系统用户 * perf: 优化系统用户和应用关系 * fix: 修复oracle不可连接问题 Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: feng626 <1304903146@qq.com> Co-authored-by: Michael Bai <baijiangjie@gmail.com>
33 lines
1008 B
Python
33 lines
1008 B
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
|
|
from django.db.models import Q
|
|
from rest_framework.generics import ListAPIView
|
|
|
|
from common.permissions import IsOrgAdminOrAppUser
|
|
from common.mixins.api import CommonApiMixin
|
|
from applications.models import Application
|
|
from perms import serializers
|
|
|
|
__all__ = [
|
|
'UserGroupGrantedApplicationsApi'
|
|
]
|
|
|
|
|
|
class UserGroupGrantedApplicationsApi(CommonApiMixin, ListAPIView):
|
|
"""
|
|
获取用户组直接授权的应用
|
|
"""
|
|
permission_classes = (IsOrgAdminOrAppUser,)
|
|
serializer_class = serializers.AppGrantedSerializer
|
|
only_fields = serializers.AppGrantedSerializer.Meta.only_fields
|
|
filterset_fields = ['id', 'name', 'category', 'type', 'comment']
|
|
search_fields = ['name', 'comment']
|
|
|
|
def get_queryset(self):
|
|
user_group_id = self.kwargs.get('pk', '')
|
|
queryset = Application.objects\
|
|
.filter(Q(granted_by_permissions__user_groups__id=user_group_id))\
|
|
.distinct().only(*self.only_fields)
|
|
return queryset
|