Skip to content

FOUR-26707 Implement Conditional Destination Redirect #1947

Merged
nolanpro merged 29 commits into
developfrom
feature/FOUR-26707
Nov 21, 2025
Merged

FOUR-26707 Implement Conditional Destination Redirect #1947
nolanpro merged 29 commits into
developfrom
feature/FOUR-26707

Conversation

@devmiguelangel

@devmiguelangel devmiguelangel commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

Implement Conditional Destination Redirect

Solution

  • Implement backend to support extra conditioned redirection rules for a Task.
  • Add to the modeler Inspector the new conditioned redirection rules.
image

How to Test

  • Create a process like:
  • Setup the conditionl redirection rules
  • Note that the last task rules are overwritten by the End Event redirection

Related Tickets & Packages

FOUR-26707


Note

Adds conditional redirect UI and persistence for Tasks/Manual Tasks, plus e2e tests and dependency updates (uuid, bpmn-moddle).

  • Modeler (Frontend):
    • Conditional Redirects: New ConditionalRedirect and TaskDestination components to define up to 10 redirect rules with duplicate/remove, dashboard search, and URL validation.
    • Integrated into bpmn:Task and bpmn:ManualTask inspectors (src/components/nodes/task/index.js, manualTask/index.js) and persisted via handleConditionalRedirect.
  • Tests:
    • New e2e suite tests/e2e/specs/conditionalRedirect/Tasks.cy.js covering add/select, max rules, duplicate/remove.
    • Documentation test tweaks to use forced clicks for stability.
  • Dependencies:
    • Add uuid@^13.0.0; bump @processmaker/processmaker-bpmn-moddle to 0.16.1.

Written by Cursor Bugbot for commit fd0055c. This will update automatically on new commits. Configure here.

devmiguelangel and others added 21 commits September 24, 2025 15:42
FOUR-26711 Implement the Inspector Extension for Conditional Destination
FOUR-26713 Make the adjustments required in ScreenBuilder to support the Conditional Destination
cursor[bot]

This comment was marked as outdated.

@cypress

cypress Bot commented Oct 1, 2025

Copy link
Copy Markdown

modeler    Run #1738

Run Properties:  status check passed Passed #1738  •  git commit 9ba568dee8: FOUR-26707 Implement Conditional Destination Redirect
Project modeler
Branch Review feature/FOUR-26707
Run status status check passed Passed #1738
Run duration 06m 04s
Commit git commit 9ba568dee8: FOUR-26707 Implement Conditional Destination Redirect
Committer Miguel Angel
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 83
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 285
View all changes introduced in this branch ↗︎

@ProcessMaker ProcessMaker deleted a comment from cursor Bot Oct 1, 2025
FOUR-26817 Different behaviors to add conditions
cursor[bot]

This comment was marked as outdated.

devmiguelangel and others added 2 commits October 3, 2025 15:17
FOUR-26806 User cannot select a display screen when the condition is selected Display Next Assigned Task option
loopCharacteristicsHandler(value, node, setNodeProp, moddle, definitions, isMultiplayer);
defaultInspectorHandler(omit(value, 'markerFlags', '$loopCharactetistics'), isMultiplayer);
handleElementDestination(value.elementDestination, node, setNodeProp);
handleConditionalRedirect(value.conditionalRedirect, node, setNodeProp);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Inspector Handler Typos Cause Processing Issues

The inspectorHandler has a typo preventing $loopCharacteristics from being omitted and also misses omitting conditionalRedirect, which can lead to double processing. Separately, inspectorData doesn't load conditionalRedirect values, so they won't display in the inspector.

Fix in Cursor Fix in Web

content: this.$t(content),
}));

this.taskDestination = this.taskDestinationOptions?.[0] ?? null;

@rodriquelca rodriquelca Nov 6, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add the taskDestination into the data definition

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@processmaker-sonarqube

Copy link
Copy Markdown

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

@nolanpro
nolanpro merged commit d697586 into develop Nov 21, 2025
22 checks passed
@nolanpro
nolanpro deleted the feature/FOUR-26707 branch November 21, 2025 16:35
nolanpro added a commit that referenced this pull request Dec 8, 2025
nolanpro added a commit that referenced this pull request Jan 30, 2026
nolanpro added a commit that referenced this pull request Jan 30, 2026
nolanpro added a commit that referenced this pull request Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants