14884 de-reference script params from EventRule

This commit is contained in:
Arthur
2025-10-15 16:16:40 -07:00
parent 5ad6bd88f6
commit 6930df85f3
+14 -1
View File
@@ -95,7 +95,11 @@ def process_event_rules(event_rules, object_type, event_type, data, username=Non
continue continue
# Compile event data # Compile event data
event_data = event_rule.action_data or {} if event_rule.action_type == EventRuleActionChoices.SCRIPT:
event_data = {}
else:
event_data = event_rule.action_data or {}
event_data.update(data) event_data.update(data)
# Webhooks # Webhooks
@@ -131,6 +135,15 @@ def process_event_rules(event_rules, object_type, event_type, data, username=Non
elif event_rule.action_type == EventRuleActionChoices.SCRIPT: elif event_rule.action_type == EventRuleActionChoices.SCRIPT:
# Resolve the script from action parameters # Resolve the script from action parameters
script = event_rule.action_object.python_class() script = event_rule.action_object.python_class()
if event_rule.action_data:
form = script.as_form(event_rule.action_data)
if form.is_valid():
form.cleaned_data.pop('_schedule_at')
form.cleaned_data.pop('_interval')
form.cleaned_data.pop('_commit')
event_data.update(form.cleaned_data)
else:
continue
# Enqueue a Job to record the script's execution # Enqueue a Job to record the script's execution
from extras.jobs import ScriptJob from extras.jobs import ScriptJob