mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-17 13:08:16 -06:00
14438 temp fix
This commit is contained in:
parent
8c17d73315
commit
6846ec7b71
@ -513,33 +513,45 @@ class ConfigTemplateSerializer(TaggableModelSerializer, ValidatedModelSerializer
|
|||||||
|
|
||||||
class ScriptSerializer(ValidatedModelSerializer):
|
class ScriptSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:script-detail',)
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:script-detail',)
|
||||||
# id = serializers.CharField(read_only=True)
|
description = serializers.SerializerMethodField(read_only=True)
|
||||||
# module = serializers.CharField(max_length=255)
|
vars = serializers.SerializerMethodField(read_only=True)
|
||||||
# name = serializers.CharField(read_only=True)
|
|
||||||
# description = serializers.CharField(read_only=True)
|
|
||||||
# vars = serializers.SerializerMethodField(read_only=True)
|
|
||||||
# result = NestedJobSerializer()
|
# result = NestedJobSerializer()
|
||||||
display = serializers.SerializerMethodField(read_only=True)
|
display = serializers.SerializerMethodField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Script
|
model = Script
|
||||||
fields = [
|
fields = [
|
||||||
'id', 'url', 'module', 'name', 'display',
|
'id', 'url', 'module', 'name', 'description', 'vars', 'display',
|
||||||
]
|
]
|
||||||
|
|
||||||
@extend_schema_field(serializers.JSONField(allow_null=True))
|
@extend_schema_field(serializers.JSONField(allow_null=True))
|
||||||
def get_vars(self, instance):
|
def get_vars(self, obj):
|
||||||
return {
|
if obj.python_class:
|
||||||
k: v.__class__.__name__ for k, v in instance._get_vars().items()
|
return {
|
||||||
}
|
k: v.__class__.__name__ for k, v in obj.python_class()._get_vars().items()
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
return {}
|
||||||
|
|
||||||
@extend_schema_field(serializers.CharField())
|
@extend_schema_field(serializers.CharField())
|
||||||
def get_display(self, obj):
|
def get_display(self, obj):
|
||||||
return f'{obj.name} ({obj.module})'
|
return f'{obj.name} ({obj.module})'
|
||||||
|
|
||||||
|
@extend_schema_field(serializers.CharField())
|
||||||
|
def get_description(self, obj):
|
||||||
|
if obj.python_class:
|
||||||
|
return obj.python_class().description
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
|
@extend_schema_field(NestedJobSerializer())
|
||||||
|
def get_result(self, obj):
|
||||||
|
return f'{obj.name} ({obj.module})'
|
||||||
|
|
||||||
|
|
||||||
class ScriptDetailSerializer(ScriptSerializer):
|
class ScriptDetailSerializer(ScriptSerializer):
|
||||||
result = JobSerializer()
|
# result = JobSerializer()
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class ScriptInputSerializer(serializers.Serializer):
|
class ScriptInputSerializer(serializers.Serializer):
|
||||||
|
Loading…
Reference in New Issue
Block a user