From 3fac3235e1ce587e9104dfe48e2561ddb5bbaa6a Mon Sep 17 00:00:00 2001 From: kate Date: Tue, 14 Apr 2020 16:43:21 +0200 Subject: [PATCH] MID-6212 confirmation for cleanup task actions --- .../web/page/admin/server/PageTask.java | 57 ++++++++++++++----- 1 file changed, 44 insertions(+), 13 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 5d8bbc891d1..e1c46eb4dc9 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 @@ -4,6 +4,8 @@ import java.util.Collection; import java.util.Collections; +import com.evolveum.midpoint.web.component.dialog.ConfirmationPanel; + import org.apache.wicket.Page; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.behavior.AttributeAppender; @@ -11,6 +13,7 @@ import org.apache.wicket.markup.repeater.RepeatingView; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; +import org.apache.wicket.model.StringResourceModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import com.evolveum.midpoint.gui.api.GuiStyleConstants; @@ -63,6 +66,8 @@ import com.evolveum.midpoint.web.util.TaskOperationUtils; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; +import static com.evolveum.midpoint.web.component.data.column.ColumnUtils.createStringResource; + @PageDescriptor( urls = { @Url(mountUrl = "/admin/task", matchUrlForSecurity = "/admin/task") @@ -349,12 +354,25 @@ private void createCleanupPerformanceButton(RepeatingView repeatingView) { @Override public void onClick(AjaxRequestTarget target) { - try { - deleteItem(TaskType.F_OPERATION_STATS); - } catch (SchemaException e){ - LOGGER.error("Cannot clear task results: {}", e.getMessage()); - } - saveTaskChanges(target); + ConfirmationPanel dialog = new ConfirmationPanel(getMainPopupBodyId(), createStringResource("operationalButtonsPanel.cleanupEnvironmentalPerformance.confirmation")) { + private static final long serialVersionUID = 1L; + + @Override + public StringResourceModel getTitle() { + return createStringResource("pageUsers.message.confirmActionPopupTitle"); + } + + @Override + public void yesPerformed(AjaxRequestTarget target) { + try { + deleteItem(TaskType.F_OPERATION_STATS); + } catch (SchemaException e){ + LOGGER.error("Cannot clear task results: {}", e.getMessage()); + } + saveTaskChanges(target); + } + }; + showMainPopup(dialog, target); } }; cleanupPerformance.add(AttributeAppender.append("class", "btn btn-default btn-margin-left btn-sm")); @@ -368,13 +386,26 @@ private void createCleanupResultsButton(RepeatingView repeatingView) { @Override public void onClick(AjaxRequestTarget target) { - try { - deleteItem(TaskType.F_RESULT); - deleteItem(TaskType.F_RESULT_STATUS); - } catch (SchemaException e){ - LOGGER.error("Cannot clear task results: {}", e.getMessage()); - } - saveTaskChanges(target); + ConfirmationPanel dialog = new ConfirmationPanel(getMainPopupBodyId(), createStringResource("operationalButtonsPanel.cleanupEnvironmentalPerformance.confirmation")) { + private static final long serialVersionUID = 1L; + + @Override + public StringResourceModel getTitle() { + return createStringResource("pageUsers.message.confirmActionPopupTitle"); + } + + @Override + public void yesPerformed(AjaxRequestTarget target) { + try { + deleteItem(TaskType.F_RESULT); + deleteItem(TaskType.F_RESULT_STATUS); + } catch (SchemaException e){ + LOGGER.error("Cannot clear task results: {}", e.getMessage()); + } + saveTaskChanges(target); + } + }; + showMainPopup(dialog, target); } }; cleanupResults.add(new VisibleBehaviour(this::isNotRunning));