diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/ConfigurationWorkflowController.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/ConfigurationWorkflowController.java index c58e61db2..6494b6f00 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/ConfigurationWorkflowController.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/ConfigurationWorkflowController.java @@ -11,6 +11,7 @@ import org.libreccm.l10n.GlobalizationHelper; import org.libreccm.security.AuthorizationRequired; import org.libreccm.workflow.CircularTaskDependencyException; import org.libreccm.workflow.Task; +import org.libreccm.workflow.TaskDependency; import org.libreccm.workflow.TaskManager; import org.libreccm.workflow.TaskRepository; import org.libreccm.workflow.Workflow; @@ -19,6 +20,7 @@ import org.libreccm.workflow.WorkflowRepository; import org.librecms.contentsection.ContentSection; import org.librecms.contentsection.ContentSectionManager; +import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Optional; @@ -757,7 +759,6 @@ public class ConfigurationWorkflowController { } final Task task = taskResult.get(); taskManager.removeTask(workflow, task); - taskRepo.delete(task); return String.format( "redirect:/%s/configuration/workflows/%s", @@ -1291,6 +1292,7 @@ public class ConfigurationWorkflowController { workflow.getDescription() ) ); + model.setHasTasks(!workflow.getTasks().isEmpty()); model.setName( globalizationHelper.getValueFromLocalizedString(workflow.getName()) ); @@ -1309,6 +1311,10 @@ public class ConfigurationWorkflowController { task.getDescription() ) ); + model.setHasDependencies( + !task.getBlockedTasks().isEmpty() + || !task.getBlockingTasks().isEmpty() + ); model.setLabel( globalizationHelper.getValueFromLocalizedString( task.getLabel() diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTaskTemplateListModel.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTaskTemplateListModel.java index 6d8116804..816f90e64 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTaskTemplateListModel.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTaskTemplateListModel.java @@ -24,6 +24,8 @@ public class WorkflowTaskTemplateListModel { private String label; private String description; + + private boolean hasDependencies; public long getTaskId() { return taskId; @@ -57,4 +59,14 @@ public class WorkflowTaskTemplateListModel { this.description = description; } + public boolean getHasDependencies() { + return hasDependencies; + } + + public void setHasDependencies(final boolean hasDependencies) { + this.hasDependencies = hasDependencies; + } + + + } diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTemplateListModel.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTemplateListModel.java index 9bda62eb1..a8031c7cd 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTemplateListModel.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/WorkflowTemplateListModel.java @@ -19,6 +19,8 @@ public class WorkflowTemplateListModel { private String description; + private boolean hasTasks; + public long getWorkflowId() { return workflowId; } @@ -51,4 +53,12 @@ public class WorkflowTemplateListModel { this.description = description; } + public boolean getHasTasks() { + return hasTasks; + } + + public void setHasTasks(boolean hasTasks) { + this.hasTasks = hasTasks; + } + } diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/configuration/workflow.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/configuration/workflow.xhtml index 2ae3a6e5f..b9d4ab33a 100644 --- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/configuration/workflow.xhtml +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/configuration/workflow.xhtml @@ -229,15 +229,17 @@