From b4fe35fd699d683c264a50a79c03905a51953ae7 Mon Sep 17 00:00:00 2001 From: honchar Date: Fri, 4 Mar 2016 13:11:25 +0100 Subject: [PATCH] MID-2824 --- .../component/AbstractTreeTablePanel.java | 2 + .../admin/users/component/TreeTablePanel.java | 91 ++++++++++++------- 2 files changed, 62 insertions(+), 31 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AbstractTreeTablePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AbstractTreeTablePanel.java index 26a494ba80b..5b9d468b951 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AbstractTreeTablePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/AbstractTreeTablePanel.java @@ -66,6 +66,8 @@ public abstract class AbstractTreeTablePanel extends SimplePanel { protected static final int CONFIRM_DELETE = 0; protected static final int CONFIRM_DELETE_ROOT = 1; + protected static final int CONFIRM_DELETE_MANAGER = 2; + protected static final int CONFIRM_DELETE_MEMBER = 3; protected static final String DOT_CLASS = AbstractTreeTablePanel.class.getName() + "."; protected static final String OPERATION_DELETE_OBJECTS = DOT_CLASS + "deleteObjects"; diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/TreeTablePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/TreeTablePanel.java index 26dcd1f49f1..49b31fb9b91 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/TreeTablePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/TreeTablePanel.java @@ -149,6 +149,8 @@ public void yesPerformed(AjaxRequestTarget target) { switch (getConfirmType()) { case CONFIRM_DELETE: + case CONFIRM_DELETE_MANAGER: + case CONFIRM_DELETE_MEMBER: deleteConfirmedPerformed(target); break; case CONFIRM_DELETE_ROOT: @@ -491,6 +493,12 @@ public String getObject() { case CONFIRM_DELETE: return createStringResource("TreeTablePanel.message.deleteObjectConfirm", WebComponentUtil.getSelectedData(getOrgChildTable()).size()).getString(); + case CONFIRM_DELETE_MANAGER: + return createStringResource("TreeTablePanel.message.deleteObjectConfirm", + WebComponentUtil.getSelectedData(getManagerTable()).size()).getString(); + case CONFIRM_DELETE_MEMBER: + return createStringResource("TreeTablePanel.message.deleteObjectConfirm", + WebComponentUtil.getSelectedData(getMemberTable()).size()).getString(); case CONFIRM_DELETE_ROOT: OrgTreeDto dto = getRootFromProvider(); @@ -642,7 +650,7 @@ public void onClick(AjaxRequestTarget target) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - updateActivationPerformed(target, true); + updateActivationPerformed(getOrgChildTable(), target, true); } })); headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.disable"), true, @@ -650,7 +658,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - updateActivationPerformed(target, false); + updateActivationPerformed(getOrgChildTable(), target, false); } })); headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.move"), true, @@ -658,7 +666,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - movePerformed(target, OrgUnitBrowser.Operation.MOVE); + movePerformed(getOrgChildTable(), target, OrgUnitBrowser.Operation.MOVE); } })); headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.delete"), true, @@ -666,7 +674,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - deletePerformed(target); + deletePerformed(getOrgChildTable(), target); } })); @@ -675,7 +683,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form){ - recomputePerformed(target, OrgUnitBrowser.Operation.RECOMPUTE); + recomputePerformed(getOrgChildTable(), target, OrgUnitBrowser.Operation.RECOMPUTE); } })); @@ -699,7 +707,7 @@ public void onClick(AjaxRequestTarget target) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - updateActivationPerformed(target, true); + updateActivationPerformed(getMemberTable(), target, true); } })); headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.disable"), true, @@ -707,7 +715,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - updateActivationPerformed(target, false); + updateActivationPerformed(getMemberTable(), target, false); } })); headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.delete"), true, @@ -715,7 +723,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - deletePerformed(target); + deletePerformed(getMemberTable(), target); } })); @@ -724,7 +732,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form){ - recomputePerformed(target, OrgUnitBrowser.Operation.RECOMPUTE); + recomputePerformed(getMemberTable(), target, OrgUnitBrowser.Operation.RECOMPUTE); } })); @@ -748,7 +756,7 @@ public void onClick(AjaxRequestTarget target) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - updateActivationPerformed(target, true); + updateActivationPerformed(getManagerTable(), target, true); } })); headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.disable"), true, @@ -756,7 +764,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - updateActivationPerformed(target, false); + updateActivationPerformed(getManagerTable(), target, false); } })); headerMenuItems.add(new InlineMenuItem(createStringResource("TreeTablePanel.menu.delete"), true, @@ -764,7 +772,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form) { - deletePerformed(target); + deletePerformed(getManagerTable(), target); } })); @@ -773,7 +781,7 @@ public void onSubmit(AjaxRequestTarget target, Form form) { @Override public void onSubmit(AjaxRequestTarget target, Form form){ - recomputePerformed(target, OrgUnitBrowser.Operation.RECOMPUTE); + recomputePerformed(getManagerTable(),target, OrgUnitBrowser.Operation.RECOMPUTE); } })); @@ -861,8 +869,8 @@ private PrismObject addUserPerformed(AjaxRequestTarget target, UserTyp /** * This method check selection in table. */ - private List isAnythingSelected(AjaxRequestTarget target) { - List objects = WebComponentUtil.getSelectedData(getOrgChildTable()); + private List isAnythingSelected(TablePanel table, AjaxRequestTarget target) { + List objects = WebComponentUtil.getSelectedData(table); if (objects.isEmpty()) { warn(getString("TreeTablePanel.message.nothingSelected")); target.add(getPageBase().getFeedbackPanel()); @@ -871,19 +879,40 @@ private List isAnythingSelected(AjaxRequestTarget target) { return objects; } - private void deletePerformed(AjaxRequestTarget target) { - List objects = isAnythingSelected(target); + private void deletePerformed(TablePanel table, AjaxRequestTarget target) { + List objects = isAnythingSelected(table, target); if (objects.isEmpty()) { return; } ConfirmationDialog dialog = (ConfirmationDialog) get(ID_CONFIRM_DELETE_POPUP); - dialog.setConfirmType(CONFIRM_DELETE); + if (table.getId().equals(ID_CHILD_TABLE)) { + dialog.setConfirmType(CONFIRM_DELETE); + } else if (table.getId().equals(ID_MANAGER_TABLE)){ + dialog.setConfirmType(CONFIRM_DELETE_MANAGER); + } else if (table.getId().equals(ID_MEMBER_TABLE)){ + dialog.setConfirmType(CONFIRM_DELETE_MEMBER); + } dialog.show(target); } private void deleteConfirmedPerformed(AjaxRequestTarget target) { - List objects = isAnythingSelected(target); + TablePanel table; + ConfirmationDialog dialog = (ConfirmationDialog) TreeTablePanel.this.get(ID_CONFIRM_DELETE_POPUP); + switch (dialog.getConfirmType()) { + case CONFIRM_DELETE: + table = getOrgChildTable(); + break; + case CONFIRM_DELETE_MANAGER: + table = getManagerTable(); + break; + case CONFIRM_DELETE_MEMBER: + table = getMemberTable(); + break; + default: + table = getOrgChildTable(); + } + List objects = isAnythingSelected(table, target); if (objects.isEmpty()) { return; } @@ -908,14 +937,14 @@ private void deleteConfirmedPerformed(AjaxRequestTarget target) { refreshTable(target); } - private void movePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation) { - movePerformed(target, operation, null, false); + private void movePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation) { + movePerformed(table, target, operation, null, false); } - private void movePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto selected, boolean movingRoot) { + private void movePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto selected, boolean movingRoot) { List objects; if (selected == null) { - objects = isAnythingSelected(target); + objects = isAnythingSelected(table, target); if (objects.isEmpty()) { return; } @@ -1176,11 +1205,11 @@ private void expandAllPerformed(AjaxRequestTarget target) { private void moveRootPerformed(AjaxRequestTarget target) { OrgTreeDto root = getRootFromProvider(); OrgTableDto dto = new OrgTableDto(root.getOid(), root.getType()); - movePerformed(target, OrgUnitBrowser.Operation.MOVE, dto, true); + movePerformed(getOrgChildTable(), target, OrgUnitBrowser.Operation.MOVE, dto, true); } - private void updateActivationPerformed(AjaxRequestTarget target, boolean enable) { - List objects = isAnythingSelected(target); + private void updateActivationPerformed(TablePanel table, AjaxRequestTarget target, boolean enable) { + List objects = isAnythingSelected(table, target); if (objects.isEmpty()) { return; } @@ -1223,17 +1252,17 @@ protected void refreshTable(AjaxRequestTarget target) { private void recomputeRootPerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation){ OrgTreeDto root = getRootFromProvider(); OrgTableDto dto = new OrgTableDto(root.getOid(), root.getType()); - recomputePerformed(target, operation, dto); + recomputePerformed(null, target, operation, dto); } - private void recomputePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation){ - recomputePerformed(target, operation, null); + private void recomputePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation){ + recomputePerformed(table, target, operation, null); } - private void recomputePerformed(AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto orgDto){ + private void recomputePerformed(TablePanel table, AjaxRequestTarget target, OrgUnitBrowser.Operation operation, OrgTableDto orgDto){ List objects; if (orgDto == null) { - objects = isAnythingSelected(target); + objects = isAnythingSelected(table, target); if (objects.isEmpty()) { return; }