diff --git a/apps/assets/const/device.py b/apps/assets/const/device.py index a3bc841a8..5e8f8f879 100644 --- a/apps/assets/const/device.py +++ b/apps/assets/const/device.py @@ -16,7 +16,7 @@ class DeviceTypes(BaseType): 'charset_enabled': False, 'domain_enabled': True, 'su_enabled': True, - 'su_methods': ['enable'] + 'su_methods': ['enable', 'super', 'super_level'] } } diff --git a/apps/assets/serializers/platform.py b/apps/assets/serializers/platform.py index 53be193a6..20824cba9 100644 --- a/apps/assets/serializers/platform.py +++ b/apps/assets/serializers/platform.py @@ -85,6 +85,14 @@ class PlatformProtocolSerializer(serializers.ModelSerializer): class PlatformSerializer(WritableNestedModelSerializer): + SU_METHOD_CHOICES = [ + ("sudo", "sudo su -"), + ("su", "su - "), + ("enable", "enable"), + ("super", "super 15"), + ("super_level", "super level 15") + ] + charset = LabeledChoiceField( choices=Platform.CharsetChoices.choices, label=_("Charset") ) @@ -94,10 +102,9 @@ class PlatformSerializer(WritableNestedModelSerializer): label=_("Protocols"), many=True, required=False ) automation = PlatformAutomationSerializer(label=_("Automation"), required=False) - su_method = LabeledChoiceField( - choices=[("sudo", "sudo su -"), ("su", "su - "), ("enable", "enable")], - label=_("Su method"), required=False, default="sudo", allow_null=True - ) + su_method = LabeledChoiceField(choices=SU_METHOD_CHOICES, + label=_("Su method"), required=False, default="sudo", allow_null=True + ) class Meta: model = Platform