From d2afd5ec7b78e137889b92aebe8ddac25b1fedc2 Mon Sep 17 00:00:00 2001 From: Katarina Valalikova Date: Thu, 26 Mar 2020 07:05:13 +0100 Subject: [PATCH] default values also for save operation on task details --- .../web/page/admin/server/PageTask.java | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTask.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTask.java index 63bac5bc717..c9116737ae9 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTask.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageTask.java @@ -436,11 +436,27 @@ private void afterOperation(AjaxRequestTarget target, OperationResult result) { refresh(target); } + @Override + public void savePerformed(AjaxRequestTarget target) { + savePerformed(target, false); + } + + private boolean saveAndRun = false; + public void saveAndRunPerformed(AjaxRequestTarget target) { + saveAndRun = true; + savePerformed(target, true); + } + + private void savePerformed(AjaxRequestTarget target, boolean run) { PrismObjectWrapper taskWrapper = getObjectWrapper(); try { PrismPropertyWrapper executionStatus = taskWrapper.findProperty(ItemPath.create(TaskType.F_EXECUTION_STATUS)); - executionStatus.getValue().setRealValue(TaskExecutionStatusType.RUNNABLE); + if (run) { + executionStatus.getValue().setRealValue(TaskExecutionStatusType.RUNNABLE); + } else { + executionStatus.getValue().setRealValue(TaskExecutionStatusType.SUSPENDED); + } setupOwner(taskWrapper); setupRecurrence(taskWrapper); @@ -452,7 +468,11 @@ public void saveAndRunPerformed(AjaxRequestTarget target) { } if (!checkScheduleFilledForReccurentTask(taskWrapper)) { - getSession().error("Cannot run recurring task without setting scheduling for it."); + if (run) { + getSession().error("Cannot run recurring task without setting scheduling for it."); + } else { + getSession().warn("Cannot run recurring task without setting scheduling for it."); + } target.add(getFeedbackPanel()); return; } @@ -507,10 +527,11 @@ public void finishProcessing(AjaxRequestTarget target, Collection