mirror of https://github.com/jumpserver/jumpserver
perf: Export template with prompts
parent
4e719ecacd
commit
ef2b12fa0f
|
@ -247,6 +247,7 @@ class AccountSerializer(AccountCreateUpdateSerializerMixin, BaseAccountSerialize
|
||||||
'name': {'required': False},
|
'name': {'required': False},
|
||||||
'source_id': {'required': False, 'allow_null': True},
|
'source_id': {'required': False, 'allow_null': True},
|
||||||
}
|
}
|
||||||
|
fields_unimport_template = ['params']
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setup_eager_loading(cls, queryset):
|
def setup_eager_loading(cls, queryset):
|
||||||
|
|
|
@ -16,6 +16,7 @@ class CustomSerializer(AssetSerializer):
|
||||||
class Meta(AssetSerializer.Meta):
|
class Meta(AssetSerializer.Meta):
|
||||||
model = Custom
|
model = Custom
|
||||||
fields = AssetSerializer.Meta.fields + ['custom_info']
|
fields = AssetSerializer.Meta.fields + ['custom_info']
|
||||||
|
fields_unimport_template = ['custom_info']
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
|
@ -147,6 +147,10 @@ class PlatformProtocolSerializer(serializers.ModelSerializer):
|
||||||
name, port = data.split('/')
|
name, port = data.split('/')
|
||||||
return {'name': name, 'port': port}
|
return {'name': name, 'port': port}
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_render_help_text():
|
||||||
|
return _('Protocols, format is ["protocol/port"]')
|
||||||
|
|
||||||
|
|
||||||
class PlatformCustomField(serializers.Serializer):
|
class PlatformCustomField(serializers.Serializer):
|
||||||
TYPE_CHOICES = [(t, t) for t, c in type_field_map.items()]
|
TYPE_CHOICES = [(t, t) for t, c in type_field_map.items()]
|
||||||
|
|
|
@ -48,15 +48,16 @@ class BaseFileRenderer(BaseRenderer):
|
||||||
|
|
||||||
def get_rendered_fields(self):
|
def get_rendered_fields(self):
|
||||||
fields = self.serializer.fields
|
fields = self.serializer.fields
|
||||||
|
meta = getattr(self.serializer, 'Meta', None)
|
||||||
if self.template == 'import':
|
if self.template == 'import':
|
||||||
fields = [v for k, v in fields.items() if not v.read_only and k != "org_id" and k != 'id']
|
fields = [v for k, v in fields.items() if not v.read_only and k != "org_id" and k != 'id']
|
||||||
|
fields_unimport = getattr(meta, 'fields_unimport_template', [])
|
||||||
|
fields = [v for v in fields if v.field_name not in fields_unimport]
|
||||||
elif self.template == 'update':
|
elif self.template == 'update':
|
||||||
fields = [v for k, v in fields.items() if not v.read_only and k != "org_id"]
|
fields = [v for k, v in fields.items() if not v.read_only and k != "org_id"]
|
||||||
else:
|
else:
|
||||||
fields = [v for k, v in fields.items() if not v.write_only and k != "org_id"]
|
fields = [v for k, v in fields.items() if not v.write_only and k != "org_id"]
|
||||||
|
|
||||||
meta = getattr(self.serializer, 'Meta', None)
|
|
||||||
if meta:
|
|
||||||
fields_unexport = getattr(meta, 'fields_unexport', [])
|
fields_unexport = getattr(meta, 'fields_unexport', [])
|
||||||
fields = [v for v in fields if v.field_name not in fields_unexport]
|
fields = [v for v in fields if v.field_name not in fields_unexport]
|
||||||
return fields
|
return fields
|
||||||
|
|
Loading…
Reference in New Issue