From 381ec9eb0efe3cfa618f5f241d66938ebcc40bed Mon Sep 17 00:00:00 2001 From: Maria Violante Date: Tue, 4 Aug 2026 10:56:49 -0400 Subject: [PATCH 1/3] Move workflow builder to a module --- .../static/django_forms_workflows/js/workflow-builder.js | 5 +---- .../admin/django_forms_workflows/workflow_builder.html | 5 +++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/django_forms_workflows/static/django_forms_workflows/js/workflow-builder.js b/django_forms_workflows/static/django_forms_workflows/js/workflow-builder.js index 5475224..f38edf2 100644 --- a/django_forms_workflows/static/django_forms_workflows/js/workflow-builder.js +++ b/django_forms_workflows/static/django_forms_workflows/js/workflow-builder.js @@ -4,7 +4,7 @@ * Drag-and-drop workflow builder for post-submission actions and approvals. */ -class WorkflowBuilder { +export class WorkflowBuilder { constructor(config) { this.config = config; this.nodes = []; @@ -3162,6 +3162,3 @@ class WorkflowBuilder { return `M ${x1} ${y1} C ${cx1} ${y1}, ${cx2} ${y2}, ${x2} ${y2}`; } } - -// This script is loaded before the inline admin bootstrap code. -window.WorkflowBuilder = WorkflowBuilder; diff --git a/django_forms_workflows/templates/admin/django_forms_workflows/workflow_builder.html b/django_forms_workflows/templates/admin/django_forms_workflows/workflow_builder.html index 08a7705..7c3d90a 100644 --- a/django_forms_workflows/templates/admin/django_forms_workflows/workflow_builder.html +++ b/django_forms_workflows/templates/admin/django_forms_workflows/workflow_builder.html @@ -1119,8 +1119,9 @@
Visual Builder Scope
{% block extrahead %} - -'; + + it('escapes workflow_settings name_label/notification_cadence/notification_cadence_form_field', () => { + const instance = createInstance(); + const node = { + type: 'workflow_settings', + data: { + name_label: payload, + notification_cadence: 'form_field_date', + notification_cadence_form_field: payload, + }, + }; + + const html = instance.getNodeDescription(node); + + expect(html).not.toContain(''; + const node = { + id: 'form_1', + data: { + is_initial: true, + form_name: 'Test Form', + field_count: 1, + fields: [ + { + label: payload, + name: payload, + type: payload, + prefill_source: payload, + }, + ], + has_more_fields: false, + }, + }; + + const html = instance.buildFormProperties(node); + + expect(html).not.toContain('