From 885e27f3b4d4a400f3419cf10c962748879f35e7 Mon Sep 17 00:00:00 2001 From: chvostek Date: Mon, 12 Oct 2026 15:36:19 +0200 Subject: [PATCH 1/4] [NAE-2469] Fulltext search configuration - call frontend action on process deploy --- src/main/resources/petriNets/engine-processes/process.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/petriNets/engine-processes/process.xml b/src/main/resources/petriNets/engine-processes/process.xml index 3a9225b50e..9b5e89284a 100644 --- a/src/main/resources/petriNets/engine-processes/process.xml +++ b/src/main/resources/petriNets/engine-processes/process.xml @@ -389,7 +389,7 @@ if (editIsAssigned) { cancelTask("edit") } - //Frontend.readOnlyBuilder() + Frontend.readOnlyBuilder() ]]> From 7bd72798bb90d54c80a58f7ee7457597c3ae3b9e Mon Sep 17 00:00:00 2001 From: chvostek Date: Mon, 12 Oct 2026 16:06:44 +0200 Subject: [PATCH 2/4] [NAE-2489] View only builder - fix handling zoned date time strings when importing process --- .../workflow/domain/triggers/DateTimeTrigger.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java b/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java index 548b4d89b0..83448c700d 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java +++ b/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java @@ -1,6 +1,8 @@ package com.netgrif.application.engine.workflow.domain.triggers; import java.time.LocalDateTime; +import java.time.OffsetDateTime; +import java.time.ZoneId; import java.time.format.DateTimeParseException; /** @@ -21,7 +23,13 @@ public class DateTimeTrigger extends TimeTrigger { */ public DateTimeTrigger(String timeString) throws DateTimeParseException { super(timeString); - startDate = LocalDateTime.parse(timeString); + try { + startDate = LocalDateTime.parse(timeString); + } catch (DateTimeParseException e) { + startDate = OffsetDateTime.parse(timeString) + .atZoneSameInstant(ZoneId.systemDefault()) + .toLocalDateTime(); + } } @Override From ff92dffb8a73b585644160752d9eadfd7ea5724d Mon Sep 17 00:00:00 2001 From: chvostek Date: Wed, 14 Oct 2026 09:51:45 +0200 Subject: [PATCH 3/4] [NAE-2489] View only builder - fix DateTimeTrigger to handle also edge cases in time zones --- .../workflow/domain/triggers/DateTimeTrigger.java | 4 +++- .../workflow/domain/triggers/TimeTrigger.java | 5 +++++ .../engine/workflow/service/TaskService.java | 14 +++++++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java b/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java index 83448c700d..c311ebbb5f 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java +++ b/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/DateTimeTrigger.java @@ -26,7 +26,9 @@ public DateTimeTrigger(String timeString) throws DateTimeParseException { try { startDate = LocalDateTime.parse(timeString); } catch (DateTimeParseException e) { - startDate = OffsetDateTime.parse(timeString) + OffsetDateTime offsetDateTime = OffsetDateTime.parse(timeString); + startInstant = offsetDateTime.toInstant(); + startDate = offsetDateTime .atZoneSameInstant(ZoneId.systemDefault()) .toLocalDateTime(); } diff --git a/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/TimeTrigger.java b/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/TimeTrigger.java index 134fb7b03c..586f7729fd 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/TimeTrigger.java +++ b/src/main/java/com/netgrif/application/engine/workflow/domain/triggers/TimeTrigger.java @@ -3,6 +3,7 @@ import lombok.Getter; import lombok.Setter; +import java.time.Instant; import java.time.LocalDateTime; public abstract class TimeTrigger extends Trigger { @@ -11,6 +12,10 @@ public abstract class TimeTrigger extends Trigger { @Setter protected LocalDateTime startDate; + @Getter + @Setter + protected Instant startInstant; + @Getter protected String timeString; diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java b/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java index 2e455c3e0c..6777498089 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java @@ -619,15 +619,19 @@ void validateData(Transition transition, Case useCase) { } } - protected void scheduleTaskExecution(Task task, LocalDateTime time, Case useCase) { - log.info("[" + useCase.getStringId() + "]: Task " + task.getTitle() + " scheduled to run at " + time.toString()); + protected void scheduleTaskExecution(Task task, TimeTrigger trigger, Case useCase) { + Date runAt = trigger.getStartInstant() != null + ? Date.from(trigger.getStartInstant()) + : DateUtils.localDateTimeToDate(trigger.getStartDate()); + log.info("[{}]: Task {} scheduled to run at {}", useCase.getStringId(), task.getTitle(), runAt); scheduler.schedule(() -> { try { executeTransition(task, useCase); } catch (Exception e) { - log.info("[" + useCase.getStringId() + "]: Scheduled task [" + task.getTitle() + "] of case [" + useCase.getTitle() + "] could not be executed: " + e); + log.info("[{}]: Scheduled task [{}] of case [{}] could not be executed:", useCase.getStringId(), + task.getTitle(), useCase.getTitle(), e); } - }, DateUtils.localDateTimeToDate(time)); + }, runAt); } @Override @@ -854,7 +858,7 @@ private Task createFromTransition(Transition transition, Case useCase) { if (taskTrigger instanceof TimeTrigger) { TimeTrigger timeTrigger = (TimeTrigger) taskTrigger; - scheduleTaskExecution(task, timeTrigger.getStartDate(), useCase); + scheduleTaskExecution(task, timeTrigger, useCase); } } ProcessRole defaultRole = processRoleService.defaultRole(); From 94855a452e3933486707cac2265b0c07d055246d Mon Sep 17 00:00:00 2001 From: chvostek Date: Mon, 19 Oct 2026 15:52:00 +0200 Subject: [PATCH 4/4] [NAE-2489] View only builder - add xml_text to form transition of process.xml --- .../petriNets/engine-processes/process.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/resources/petriNets/engine-processes/process.xml b/src/main/resources/petriNets/engine-processes/process.xml index 9b5e89284a..f1d6ff6af5 100644 --- a/src/main/resources/petriNets/engine-processes/process.xml +++ b/src/main/resources/petriNets/engine-processes/process.xml @@ -615,6 +615,20 @@ outline + + xml_text + + hidden + + + 0 + 4 + 1 + 4 + + outline + +