From 5acf95111060e3184d121e19ea2fa3184e019527 Mon Sep 17 00:00:00 2001 From: kate Date: Wed, 22 Apr 2020 13:34:41 +0200 Subject: [PATCH] more changes for members actions --- .../admin/roles/AbstractRoleMemberPanel.java | 35 ++++++++++++++----- .../admin/users/component/OrgMemberPanel.java | 21 ++--------- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java index 0724e094b6b..9220024ad29 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java @@ -607,7 +607,8 @@ protected boolean isFocusTypeSelectorVisible() { protected void okPerformed(QName type, Collection relations, AjaxRequestTarget target) { - unassignMembersPerformed(type, scope, relations, target); + unassignMembersPerformed(type, SearchBoxScopeType.SUBTREE.equals(getSearchScope()) && QueryScope.ALL.equals(scope) ? + QueryScope.ALL_DIRECT : scope, relations, target); } @Override @@ -622,8 +623,16 @@ protected QName getDefaultObjectType() { private void deleteMembersPerformed(AjaxRequestTarget target) { QueryScope scope = getQueryScope(); + StringResourceModel confirmModel; + if (SearchBoxScopeType.SUBTREE.equals(getSearchScope())) { + confirmModel = createStringResource("abstractRoleMemberPanel.deleteAllSubtreeMembersConfirmationLabel"); + } else { + confirmModel = getMemberTable().getSelectedObjectsCount() > 0 ? + createStringResource("abstractRoleMemberPanel.deleteSelectedMembersConfirmationLabel") + : createStringResource("abstractRoleMemberPanel.deleteAllMembersConfirmationLabel"); + } ChooseFocusTypeAndRelationDialogPanel chooseTypePopupContent = new ChooseFocusTypeAndRelationDialogPanel(getPageBase().getMainPopupBodyId(), - createStringResource("abstractRoleMemberPanel.deleteAllMembersConfirmationLabel")) { + confirmModel) { private static final long serialVersionUID = 1L; @Override @@ -953,7 +962,7 @@ protected void refreshAll(AjaxRequestTarget target) { } - private MainObjectListPanel getMemberTable() { + protected MainObjectListPanel getMemberTable() { return (MainObjectListPanel) get(createComponentPath(ID_FORM, ID_CONTAINER_MEMBER, ID_MEMBER_TABLE)); } @@ -962,7 +971,7 @@ protected QueryScope getQueryScope() { return QueryScope.SELECTED; } - if (getIndirectmembersPanel().getValue()) { + if (getIndirectmembersPanel().getValue() || SearchBoxScopeType.SUBTREE.equals(getSearchScope())) { return QueryScope.ALL; } @@ -975,10 +984,14 @@ private CheckFormGroup getIndirectmembersPanel() { protected void recomputeMembersPerformed(AjaxRequestTarget target) { - StringResourceModel confirmModel = getMemberTable().getSelectedObjectsCount() > 0 ? - createStringResource("abstractRoleMemberPanel.recomputeSelectedMembersConfirmationLabel") - : createStringResource("abstractRoleMemberPanel.recomputeAllMembersConfirmationLabel"); - + StringResourceModel confirmModel; + if (SearchBoxScopeType.SUBTREE.equals(getSearchScope())) { + confirmModel = createStringResource("abstractRoleMemberPanel.recomputeAllSubtreeMembersConfirmationLabel"); + } else { + confirmModel = getMemberTable().getSelectedObjectsCount() > 0 ? + createStringResource("abstractRoleMemberPanel.recomputeSelectedMembersConfirmationLabel") + : createStringResource("abstractRoleMemberPanel.recomputeAllMembersConfirmationLabel"); + } ConfigureTaskConfirmationPanel dialog = new ConfigureTaskConfirmationPanel(((PageBase)getPage()).getMainPopupBodyId(), confirmModel) { @@ -1245,4 +1258,10 @@ protected void updateMembersPanelSessionStorage(){ protected MemberPanelStorage getMemberPanelStorage(){ return null; } + + protected SearchBoxScopeType getSearchScope() { + DropDownFormGroup searchorgScope = (DropDownFormGroup) get( + createComponentPath(ID_FORM, ID_SEARCH_SCOPE)); + return searchorgScope.getModelObject(); + } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java index 63d59d0606e..e9d2c534e2f 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java @@ -24,7 +24,6 @@ import com.evolveum.midpoint.schema.constants.ObjectTypes; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; -import com.evolveum.midpoint.web.component.form.DropDownFormGroup; import com.evolveum.midpoint.web.page.admin.roles.AbstractRoleMemberPanel; import com.evolveum.midpoint.web.page.admin.roles.AvailableRelationDto; import com.evolveum.midpoint.web.page.admin.roles.MemberOperationsHelper; @@ -57,7 +56,7 @@ protected void initLayout() { @Override protected ObjectQuery createMemberQuery(boolean indirect, Collection relations) { ObjectTypes searchType = getSearchType(); - if (SearchBoxScopeType.ONE_LEVEL.equals(getOrgSearchScope())) { + if (SearchBoxScopeType.ONE_LEVEL.equals(getSearchScope())) { if (AssignmentHolderType.class.isAssignableFrom(searchType.getClassDefinition())) { return super.createMemberQuery(indirect, relations); } @@ -73,22 +72,14 @@ protected ObjectQuery createMemberQuery(boolean indirect, Collection rela @Override protected ObjectQuery getActionQuery(QueryScope scope, Collection relations) { - if (SearchBoxScopeType.ONE_LEVEL.equals(getOrgSearchScope())) { + if (SearchBoxScopeType.ONE_LEVEL.equals(getSearchScope()) || + (SearchBoxScopeType.SUBTREE.equals(getSearchScope()) && !QueryScope.ALL.equals(scope))) { return super.getActionQuery(scope, relations); } else { return getSubtreeScopeMembersQuery(); } } - @Override - protected QueryScope getQueryScope() { - if (SearchBoxScopeType.SUBTREE.equals(getOrgSearchScope())) { - return QueryScope.ALL; - } else { - return super.getQueryScope(); - } - } - @Override protected ObjectQuery createAllMemberQuery(Collection relations) { return getPrismContext().queryFor(AssignmentHolderType.class) @@ -111,12 +102,6 @@ private ObjectQuery getSubtreeScopeMembersQuery(){ return query; } - protected SearchBoxScopeType getOrgSearchScope() { - DropDownFormGroup searchorgScope = (DropDownFormGroup) get( - createComponentPath(ID_FORM, ID_SEARCH_SCOPE)); - return searchorgScope.getModelObject(); - } - @Override protected void assignMembers(AjaxRequestTarget target, AvailableRelationDto availableRelationList, List objectTypes, List archetypeRefList, boolean isOrgTreePanelVisible) {