From 0fb8b5eaee074040ebb70abd6de28d32345010c0 Mon Sep 17 00:00:00 2001 From: kate Date: Wed, 4 Mar 2020 14:38:11 +0100 Subject: [PATCH] visibility improvements for task tabs --- .../web/page/admin/PageAdminObjectDetails.java | 2 +- .../page/admin/server/TaskTabsVisibility.java | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java index 8b8e21dce9d..f82fe7ca9e9 100755 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/PageAdminObjectDetails.java @@ -195,7 +195,7 @@ && getObjectWrapper().getObject().asObjectable() instanceof AssignmentHolderType return getCompileTimeClass().getSimpleName(); } - private boolean isAdd() { + public boolean isAdd() { return !isOidParameterExists() && !editingFocus; } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskTabsVisibility.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskTabsVisibility.java index 51d149f26f3..a369f22bbd1 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskTabsVisibility.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/TaskTabsVisibility.java @@ -69,7 +69,10 @@ public boolean computeCleanupPolicyVisible(){ public boolean computeSubtasksAndThreadsVisible(PageTask parentPage, PrismObjectWrapper taskWrapper) { boolean isThreadsReadable = isTaskItemReadable(taskWrapper, ItemPath.create(TaskType.F_EXTENSION, SchemaConstants.MODEL_EXTENSION_WORKER_THREADS)); TaskType task = taskWrapper.getObject().asObjectable(); - if (parentPage.isEditingFocus() && !WebComponentUtil.isWorkflowTask(taskWrapper.getObject().asObjectable())) { + + if (parentPage.isEditingFocus()) { + subtasksAndThreadsVisible = configuresWorkerThreads(task) && isThreadsReadable; + } else if (!parentPage.isAdd() && !WebComponentUtil.isWorkflowTask(taskWrapper.getObject().asObjectable())) { subtasksAndThreadsVisible = configuresWorkerThreads(task) && isThreadsReadable || !CollectionUtils.isNotEmpty(task.getSubtask()); } else { @@ -85,7 +88,7 @@ public boolean configuresWorkerThreads(TaskType task) { public boolean computeEnvironmentalPerformanceVisible(PageTask parentPage, PrismObjectWrapper taskWrapper) { final OperationStatsType operationStats = taskWrapper.getObject().asObjectable().getOperationStats(); - environmentalPerformanceVisible = !parentPage.isEditingFocus() + environmentalPerformanceVisible = !parentPage.isAdd() && !parentPage.isEditingFocus() && isTaskItemReadable(taskWrapper, TaskType.F_OPERATION_STATS) && operationStats != null && !StatisticsUtil.isEmpty(operationStats.getEnvironmentalPerformanceInformation()); @@ -93,7 +96,7 @@ && isTaskItemReadable(taskWrapper, TaskType.F_OPERATION_STATS) } public boolean computeInternalPerformanceVisible(PageTask parentPage, PrismObjectWrapper taskWrapper) { - internalPerformanceVisible = !parentPage.isEditingFocus() + internalPerformanceVisible = !parentPage.isAdd() &&!parentPage.isEditingFocus() && isTaskItemReadable(taskWrapper, TaskType.F_OPERATION_STATS) && taskWrapper.getObject().asObjectable().getOperationStats() != null; return internalPerformanceVisible; @@ -106,7 +109,7 @@ public boolean computeOperationVisible(PageTask parentPage, PrismObjectWrapper taskWrapper) { - resultVisible = !parentPage.isEditingFocus() + resultVisible = !parentPage.isAdd() && !parentPage.isEditingFocus() && isTaskItemReadable(taskWrapper, TaskType.F_RESULT) && !WebComponentUtil.isWorkflowTask(taskWrapper.getObject().asObjectable()); return resultVisible; } public boolean computeErrorsVisible(PageTask parentPage, TaskType task) { - errorsVisible = !parentPage.isEditingFocus() + errorsVisible = !parentPage.isAdd() && !parentPage.isEditingFocus() && !WebComponentUtil.isWorkflowTask(task); return errorsVisible; } @@ -134,6 +137,7 @@ public void computeAll(PageTask parentPage, PrismObjectWrapper taskWra computeSubtasksAndThreadsVisible(parentPage, taskWrapper); computeProgressVisible(parentPage); computeEnvironmentalPerformanceVisible(parentPage, taskWrapper); + computeInternalPerformanceVisible(parentPage, taskWrapper); computeOperationVisible(parentPage, taskWrapper); computeResultVisible(parentPage, taskWrapper); computeErrorsVisible(parentPage, taskWrapper.getObject().asObjectable());