From 891d9d36b0d9b623428a4ed30f3ece47a12de31a Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 15 Mar 2023 18:00:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20windows=20=E5=B9=B3=E5=8F=B0=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E4=B8=8D=E5=BC=80=E5=90=AF=20console?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/const/protocol.py | 2 +- .../migrations/0110_auto_20230315_1741.py | 29 +++++++++++++++++++ apps/assets/models/platform.py | 2 +- apps/assets/serializers/platform.py | 3 +- 4 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 apps/assets/migrations/0110_auto_20230315_1741.py diff --git a/apps/assets/const/protocol.py b/apps/assets/const/protocol.py index b8efc654f..884a53785 100644 --- a/apps/assets/const/protocol.py +++ b/apps/assets/const/protocol.py @@ -39,7 +39,7 @@ class Protocol(ChoicesMixin, models.TextChoices): 'port': 3389, 'secret_types': ['password'], 'setting': { - 'console': True, + 'console': False, 'security': 'any', } }, diff --git a/apps/assets/migrations/0110_auto_20230315_1741.py b/apps/assets/migrations/0110_auto_20230315_1741.py new file mode 100644 index 000000000..2c0468d87 --- /dev/null +++ b/apps/assets/migrations/0110_auto_20230315_1741.py @@ -0,0 +1,29 @@ +# Generated by Django 3.2.17 on 2023-03-15 09:41 + +from django.db import migrations + + +def set_windows_platform_non_console(apps, schema_editor): + Platform = apps.get_model('assets', 'Platform') + names = ['Windows', 'Windows-RDP', 'Windows-TLS', 'RemoteAppHost'] + windows = Platform.objects.filter(name__in=names) + if not windows: + return + + for p in windows: + rdp = p.protocols.filter(name='rdp').first() + if not rdp: + continue + rdp.setting['console'] = False + rdp.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ('assets', '0109_alter_asset_options'), + ] + + operations = [ + migrations.RunPython(set_windows_platform_non_console) + ] diff --git a/apps/assets/models/platform.py b/apps/assets/models/platform.py index 929eff10e..488525ccd 100644 --- a/apps/assets/models/platform.py +++ b/apps/assets/models/platform.py @@ -11,7 +11,7 @@ __all__ = ['Platform', 'PlatformProtocol', 'PlatformAutomation'] class PlatformProtocol(models.Model): SETTING_ATTRS = { - 'console': True, + 'console': False, 'security': 'any,tls,rdp', 'sftp_enabled': True, 'sftp_home': '/tmp' diff --git a/apps/assets/serializers/platform.py b/apps/assets/serializers/platform.py index 1e4172dc8..15b4e7cca 100644 --- a/apps/assets/serializers/platform.py +++ b/apps/assets/serializers/platform.py @@ -1,6 +1,5 @@ from django.utils.translation import gettext_lazy as _ from rest_framework import serializers -from django.core import validators from assets.const.web import FillType from common.serializers import WritableNestedModelSerializer @@ -19,7 +18,7 @@ class ProtocolSettingSerializer(serializers.Serializer): ("nla", "NLA"), ] # RDP - console = serializers.BooleanField(required=False) + console = serializers.BooleanField(required=False, default=False) security = serializers.ChoiceField(choices=SECURITY_CHOICES, default="any") # SFTP