Compare commits

...

3 Commits

Author SHA1 Message Date
Jiangjie.Bai
622bef07ad fix: 修复获取类型为null的命令显示不支持的问题
fix: 修复获取类型为null的命令显示不支持的问题
2022-05-07 17:56:33 +08:00
fit2bot
a23bd4b3eb fix: 修复system-role获取users失败的问题 (#8197)
Co-authored-by: Jiangjie.Bai <bugatti_it@163.com>
2022-05-07 10:40:01 +08:00
Jiangjie.Bai
9bd9d443b4 fix: 修复windows执行ansible显示sudo失败的问题 2022-05-05 11:40:37 +08:00
3 changed files with 14 additions and 9 deletions

View File

@@ -301,7 +301,7 @@ class Asset(AbsConnectivity, AbsHardwareInfo, ProtocolsMixin, NodesRelationMixin
'private_key': auth_user.private_key_file 'private_key': auth_user.private_key_file
} }
if not with_become: if not with_become or self.is_windows():
return info return info
if become_user: if become_user:

View File

@@ -8,6 +8,7 @@ from ..filters import RoleFilter
from ..serializers import RoleSerializer, RoleUserSerializer from ..serializers import RoleSerializer, RoleUserSerializer
from ..models import Role, SystemRole, OrgRole from ..models import Role, SystemRole, OrgRole
from .permission import PermissionViewSet from .permission import PermissionViewSet
from common.mixins.api import PaginatedResponseMixin
__all__ = [ __all__ = [
'RoleViewSet', 'SystemRoleViewSet', 'OrgRoleViewSet', 'RoleViewSet', 'SystemRoleViewSet', 'OrgRoleViewSet',
@@ -15,7 +16,7 @@ __all__ = [
] ]
class RoleViewSet(JMSModelViewSet): class RoleViewSet(PaginatedResponseMixin, JMSModelViewSet):
queryset = Role.objects.all() queryset = Role.objects.all()
serializer_classes = { serializer_classes = {
'default': RoleSerializer, 'default': RoleSerializer,
@@ -54,7 +55,7 @@ class RoleViewSet(JMSModelViewSet):
def users(self, *args, **kwargs): def users(self, *args, **kwargs):
role = self.get_object() role = self.get_object()
queryset = role.users queryset = role.users
return self.get_paginated_response_with_query_set(queryset) return self.get_paginated_response_from_queryset(queryset)
class SystemRoleViewSet(RoleViewSet): class SystemRoleViewSet(RoleViewSet):

View File

@@ -89,16 +89,20 @@ class CommandStorage(CommonStorageModelMixin, CommonModelMixin):
return Terminal.objects.filter(command_storage=self.name, is_deleted=False).exists() return Terminal.objects.filter(command_storage=self.name, is_deleted=False).exists()
def get_command_queryset(self): def get_command_queryset(self):
if self.type_null:
return Command.objects.none()
if self.type_server: if self.type_server:
qs = Command.objects.all() return Command.objects.all()
else:
if self.type not in TYPE_ENGINE_MAPPING: if self.type in TYPE_ENGINE_MAPPING:
logger.error(f'Command storage `{self.type}` not support')
return Command.objects.none()
engine_mod = import_module(TYPE_ENGINE_MAPPING[self.type]) engine_mod = import_module(TYPE_ENGINE_MAPPING[self.type])
qs = engine_mod.QuerySet(self.config) qs = engine_mod.QuerySet(self.config)
qs.model = Command qs.model = Command
return qs return qs
logger.error(f'Command storage `{self.type}` not support')
return Command.objects.none()
def save(self, force_insert=False, force_update=False, using=None, def save(self, force_insert=False, force_update=False, using=None,
update_fields=None): update_fields=None):