From 6d28cac99f52665a85276e1152123a7333fe0e33 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 29 Nov 2023 12:05:42 -0800 Subject: [PATCH] 14132 nested serializer --- netbox/extras/api/nested_serializers.py | 8 ++++++++ netbox/extras/forms/model_forms.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/netbox/extras/api/nested_serializers.py b/netbox/extras/api/nested_serializers.py index 9f36bac93..85f1c3b35 100644 --- a/netbox/extras/api/nested_serializers.py +++ b/netbox/extras/api/nested_serializers.py @@ -15,6 +15,7 @@ __all__ = [ 'NestedImageAttachmentSerializer', 'NestedJournalEntrySerializer', 'NestedSavedFilterSerializer', + 'NestedScriptModuleSerializer', 'NestedTagSerializer', # Defined in netbox.api.serializers 'NestedWebhookSerializer', ] @@ -113,3 +114,10 @@ class NestedJournalEntrySerializer(WritableNestedSerializer): class Meta: model = models.JournalEntry fields = ['id', 'url', 'display', 'created'] + + +class NestedScriptModuleSerializer(serializers.Serializer): + fields = ['id', ] + + def get_display(self, obj): + return f'{obj.name} ({obj.module})' diff --git a/netbox/extras/forms/model_forms.py b/netbox/extras/forms/model_forms.py index 41304486d..888331bfe 100644 --- a/netbox/extras/forms/model_forms.py +++ b/netbox/extras/forms/model_forms.py @@ -332,7 +332,7 @@ class EventRuleForm(NetBoxModelForm): self.cleaned_data['action_object_id'] = action_choice.id elif self.cleaned_data.get('action_type') == EventRuleActionChoices.SCRIPT: script = ScriptModule.objects.get(pk=action_choice.split(":")[0]) - self.cleaned_data['action_object_type'] = ContentType.objects.get_for_model(script) + self.cleaned_data['action_object_type'] = ContentType.objects.get_for_model(script, for_concrete_model=False) self.cleaned_data['action_object_id'] = script.id self.cleaned_data['action_parameters'] = {'script_choice': action_choice}