diff --git a/netbox/extras/forms/model_forms.py b/netbox/extras/forms/model_forms.py
index 7b9f0bb02..98e1bbc85 100644
--- a/netbox/extras/forms/model_forms.py
+++ b/netbox/extras/forms/model_forms.py
@@ -244,6 +244,14 @@ class EventRuleForm(NetBoxModelForm):
label=_('Action choice'),
choices=[]
)
+ conditions = JSONField(
+ required=False,
+ help_text=_('Enter conditions in JSON format.')
+ )
+ action_data = JSONField(
+ required=False,
+ help_text=_('Enter parameters to pass to the action in JSON format.')
+ )
fieldsets = (
(_('EventRule'), ('name', 'description', 'content_types', 'enabled', 'tags')),
@@ -268,8 +276,6 @@ class EventRuleForm(NetBoxModelForm):
'action_object_type': forms.HiddenInput,
'action_object_id': forms.HiddenInput,
'action_parameters': forms.HiddenInput,
- 'conditions': forms.Textarea(attrs={'class': 'font-monospace'}),
- 'action_data': forms.Textarea(attrs={'class': 'font-monospace'}),
}
def get_script_choices(self):
@@ -311,6 +317,8 @@ class EventRuleForm(NetBoxModelForm):
elif action_type == EventRuleActionChoices.SCRIPT:
self.get_script_choices()
+ val = get_field_value(self, 'conditions')
+
def clean(self):
super().clean()
diff --git a/netbox/utilities/forms/fields/fields.py b/netbox/utilities/forms/fields/fields.py
index db5e4a30d..b9da5d045 100644
--- a/netbox/utilities/forms/fields/fields.py
+++ b/netbox/utilities/forms/fields/fields.py
@@ -101,6 +101,8 @@ class JSONField(_JSONField):
self.widget.attrs['class'] = 'font-monospace'
def prepare_value(self, value):
+ if value == '':
+ return value
if isinstance(value, InvalidJSONInput):
return value
if value is None: