diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractAssignmentPopupTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractAssignmentPopupTabPanel.java index 8ced93f30fe..7b83d88c626 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractAssignmentPopupTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractAssignmentPopupTabPanel.java @@ -50,7 +50,7 @@ public abstract class AbstractAssignmentPopupTabPanel exte private static final String DOT_CLASS = AbstractAssignmentPopupTabPanel.class.getName(); public AbstractAssignmentPopupTabPanel(String id, ObjectTypes type){ - super(id, type); + super(id); } protected abstract Map getSelectedAssignmentsMap(); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.html index 8fde94158ed..202acb9547f 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.html @@ -15,6 +15,7 @@ --> -
+
+
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.java index 9920236427f..57f8b818ee1 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AbstractPopupTabPanel.java @@ -15,6 +15,7 @@ */ package com.evolveum.midpoint.gui.api.component; +import com.evolveum.midpoint.gui.api.model.LoadableModel; import com.evolveum.midpoint.prism.query.ObjectQuery; import com.evolveum.midpoint.schema.constants.ObjectTypes; import com.evolveum.midpoint.web.component.util.SelectableBean; @@ -22,6 +23,8 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType; import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; +import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; @@ -35,24 +38,30 @@ public abstract class AbstractPopupTabPanel extends BasePa private static final long serialVersionUID = 1L; private static final String ID_OBJECT_LIST_PANEL = "objectListPanel"; + private static final String ID_PARAMETERS_PANEL = "parametersPanel"; + protected static final String ID_PARAMETERS_PANEL_FRAGMENT = "parametersPanelFragment"; - protected ObjectTypes type; protected List preSelectedObjects = new ArrayList<>(); - public AbstractPopupTabPanel(String id, ObjectTypes type){ + public AbstractPopupTabPanel(String id){ super(id); - this.type = type; } @Override protected void onInitialize(){ super.onInitialize(); + setOutputMarkupId(true); add(initObjectListPanel()); - initParametersPanel(); + + Fragment parametersPanelFragment = new Fragment(ID_PARAMETERS_PANEL, ID_PARAMETERS_PANEL_FRAGMENT, this); + parametersPanelFragment.setOutputMarkupId(true); + + initParametersPanel(parametersPanelFragment); + add(parametersPanelFragment); } - private Component initObjectListPanel(){ - PopupObjectListPanel listPanel = new PopupObjectListPanel(ID_OBJECT_LIST_PANEL, (Class)type.getClassDefinition(), + protected Component initObjectListPanel(){ + PopupObjectListPanel listPanel = new PopupObjectListPanel(ID_OBJECT_LIST_PANEL, (Class)getObjectType().getClassDefinition(), null, true, getPageBase(), getPreselectedObjects()) { private static final long serialVersionUID = 1L; @@ -87,7 +96,7 @@ public boolean isVisible(){ return listPanel; } - protected abstract void initParametersPanel(); + protected abstract void initParametersPanel(Fragment parametersPanel); protected List getPreselectedObjects(){ return preSelectedObjects; @@ -119,7 +128,5 @@ protected boolean isObjectListPanelVisible(){ return true; } - public ObjectTypes getType() { - return type; - } + protected abstract ObjectTypes getObjectType(); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AssignmentPopup.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AssignmentPopup.java index 89e86c79307..c839a29faef 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AssignmentPopup.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/AssignmentPopup.java @@ -29,6 +29,8 @@ import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.StringResourceModel; +import org.apache.wicket.protocol.http.ClientProperties; +import org.apache.wicket.protocol.http.WebSession; import java.util.*; @@ -123,6 +125,11 @@ public WebMarkupContainer createPanel(String panelId) { protected void onSelectionPerformed(AjaxRequestTarget target){ tabLabelPanelUpdate(target); } + + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.ROLE; + } }; } @@ -147,6 +154,11 @@ protected void onSelectionPerformed(AjaxRequestTarget target){ tabLabelPanelUpdate(target); } + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.ORG; + } + @Override protected List getPreselectedObjects(){ return selectedOrgsList; @@ -199,6 +211,11 @@ public WebMarkupContainer createPanel(String panelId) { return new FocusTypeAssignmentPopupTabPanel(panelId, ObjectTypes.SERVICE){ private static final long serialVersionUID = 1L; + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.SERVICE; + } + @Override protected void onSelectionPerformed(AjaxRequestTarget target){ tabLabelPanelUpdate(target); @@ -260,11 +277,21 @@ protected void addPerformed(AjaxRequestTarget target, List newAssignmentsList) { } public int getWidth(){ - return 900; + return 80; } public int getHeight(){ - return 1200; + return 80; + } + + @Override + public String getWidthUnit(){ + return "%"; + } + + @Override + public String getHeightUnit(){ + return "%"; } public StringResourceModel getTitle(){ diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberForOrgPopup.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberForOrgPopup.java new file mode 100644 index 00000000000..235a0865441 --- /dev/null +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberForOrgPopup.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2010-2018 Evolveum + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.evolveum.midpoint.gui.api.component; + +import com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab; +import com.evolveum.midpoint.schema.constants.ObjectTypes; +import com.evolveum.midpoint.schema.constants.RelationTypes; + +/** + * Created by honchar + */ + +import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType; +import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType; +import org.apache.wicket.ajax.AjaxRequestTarget; +import org.apache.wicket.extensions.markup.html.tabs.ITab; +import org.apache.wicket.markup.html.WebMarkupContainer; + +import java.util.ArrayList; +import java.util.List; + +public abstract class ChooseMemberForOrgPopup extends ChooseMemberPopup { + private static final long serialVersionUID = 1L; + + public ChooseMemberForOrgPopup(String id, List availableRelationList){ + super(id, availableRelationList); + } + + @Override + protected List createAssignmentTabs() { + List tabs = super.createAssignmentTabs(); + tabs.add(new CountablePanelTab(getPageBase().createStringResource("chooseMemberForOrgPopup.otherTypesLabel"), null) { + + private static final long serialVersionUID = 1L; + + @Override + public WebMarkupContainer createPanel(String panelId) { + return new MultiTypesMemberPopupTabPanel(panelId, availableRelationList){ + private static final long serialVersionUID = 1L; + + @Override + protected void onSelectionPerformed(AjaxRequestTarget target){ + tabLabelPanelUpdate(target); + } + + @Override + protected OrgType getAbstractRoleTypeObject(){ + return ChooseMemberForOrgPopup.this.getAssignmentTargetRefObject(); + } + }; + } + + @Override + public String getCount() { + return Integer.toString(getTabPanelSelectedCount(getPanel())); + } + }); + return tabs; + } + +} diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberPopup.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberPopup.java index be1424783c1..fd9cd89b9ec 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberPopup.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberPopup.java @@ -21,6 +21,7 @@ import com.evolveum.midpoint.prism.query.InOidFilter; import com.evolveum.midpoint.prism.query.ObjectQuery; import com.evolveum.midpoint.schema.constants.ObjectTypes; +import com.evolveum.midpoint.schema.constants.RelationTypes; import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.task.api.Task; import com.evolveum.midpoint.task.api.TaskCategory; @@ -30,7 +31,6 @@ import com.evolveum.midpoint.util.logging.TraceManager; import com.evolveum.midpoint.web.component.AjaxButton; import com.evolveum.midpoint.web.component.TabbedPanel; -import com.evolveum.midpoint.web.component.assignment.RelationTypes; import com.evolveum.midpoint.web.component.dialog.Popupable; import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; @@ -60,7 +60,7 @@ public abstract class ChooseMemberPopup selectedOrgsList = new ArrayList<>(); - private List availableRelationList; + protected List availableRelationList; public ChooseMemberPopup(String id, List availableRelationList){ super(id); @@ -107,7 +107,7 @@ public void onClick(AjaxRequestTarget target) { } MemberPopupTabPanel memberPanel = (MemberPopupTabPanel) tabPanel; - executeMemberOperation(memberPanel.getType().getTypeQName(), createInOidQuery(memberPanel.getSelectedObjectsList()), + executeMemberOperation(memberPanel.getObjectType().getTypeQName(), createInOidQuery(memberPanel.getSelectedObjectsList()), memberPanel.prepareDelta(), target); }); ChooseMemberPopup.this.getPageBase().hideMainPopup(target); @@ -123,13 +123,45 @@ protected List createAssignmentTabs() { VisibleEnableBehaviour authorization = new VisibleEnableBehaviour(){ }; + tabs.add(new CountablePanelTab(getPageBase().createStringResource("ObjectTypes.USER"), authorization) { + + private static final long serialVersionUID = 1L; + + @Override + public WebMarkupContainer createPanel(String panelId) { + return new MemberPopupTabPanel(panelId, availableRelationList){ + private static final long serialVersionUID = 1L; + + @Override + protected void onSelectionPerformed(AjaxRequestTarget target){ + tabLabelPanelUpdate(target); + } + + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.USER; + } + + @Override + protected T getAbstractRoleTypeObject(){ + return ChooseMemberPopup.this.getAssignmentTargetRefObject(); + } + }; + } + + @Override + public String getCount() { + return Integer.toString(getTabPanelSelectedCount(getPanel())); + } + }); + tabs.add(new CountablePanelTab(getPageBase().createStringResource("ObjectTypes.ROLE"), authorization) { private static final long serialVersionUID = 1L; @Override public WebMarkupContainer createPanel(String panelId) { - return new MemberPopupTabPanel(panelId, ObjectTypes.ROLE, availableRelationList){ + return new MemberPopupTabPanel(panelId, availableRelationList){ private static final long serialVersionUID = 1L; @Override @@ -137,6 +169,11 @@ protected void onSelectionPerformed(AjaxRequestTarget target){ tabLabelPanelUpdate(target); } + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.ROLE; + } + @Override protected T getAbstractRoleTypeObject(){ return ChooseMemberPopup.this.getAssignmentTargetRefObject(); @@ -157,7 +194,7 @@ public String getCount() { @Override public WebMarkupContainer createPanel(String panelId) { - return new MemberPopupTabPanel(panelId, ObjectTypes.ORG, availableRelationList){ + return new MemberPopupTabPanel(panelId, availableRelationList){ private static final long serialVersionUID = 1L; @Override @@ -165,6 +202,11 @@ protected void onSelectionPerformed(AjaxRequestTarget target){ tabLabelPanelUpdate(target); } + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.ORG; + } + @Override protected T getAbstractRoleTypeObject(){ return ChooseMemberPopup.this.getAssignmentTargetRefObject(); @@ -224,7 +266,7 @@ public String getCount() { @Override public WebMarkupContainer createPanel(String panelId) { - return new MemberPopupTabPanel(panelId, ObjectTypes.SERVICE, availableRelationList){ + return new MemberPopupTabPanel(panelId, availableRelationList){ private static final long serialVersionUID = 1L; @Override @@ -232,6 +274,11 @@ protected T getAbstractRoleTypeObject(){ return ChooseMemberPopup.this.getAssignmentTargetRefObject(); } + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.SERVICE; + } + @Override protected void onSelectionPerformed(AjaxRequestTarget target){ tabLabelPanelUpdate(target); @@ -249,14 +296,14 @@ public String getCount() { return tabs; } - private int getTabPanelSelectedCount(WebMarkupContainer panel){ + protected int getTabPanelSelectedCount(WebMarkupContainer panel){ if (panel != null && panel instanceof MemberPopupTabPanel){ return ((MemberPopupTabPanel) panel).getSelectedObjectsList().size(); } return 0; } - private void tabLabelPanelUpdate(AjaxRequestTarget target){ + protected void tabLabelPanelUpdate(AjaxRequestTarget target){ target.add(getTabbedPanel()); } @@ -294,11 +341,21 @@ protected void executeMemberOperation(QName type, ObjectQuery memberQuery, protected abstract T getAssignmentTargetRefObject(); public int getWidth(){ - return 900; + return 80; } public int getHeight(){ - return 1200; + return 80; + } + + @Override + public String getWidthUnit(){ + return "%"; + } + + @Override + public String getHeightUnit(){ + return "%"; } public StringResourceModel getTitle(){ diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.html index f1cc32f438f..25fd8f0bab8 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.html @@ -17,23 +17,29 @@ - -
-
-
- -
-
-
-
-
-
+ + +
+
+
+
-
- +
+
+
+
+
+ +
+
+
+ +
-
+
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.java index fc68ad43c51..236603bf5c2 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/FocusTypeAssignmentPopupTabPanel.java @@ -21,6 +21,7 @@ import com.evolveum.midpoint.prism.query.ObjectFilter; import com.evolveum.midpoint.prism.query.ObjectQuery; import com.evolveum.midpoint.schema.constants.ObjectTypes; +import com.evolveum.midpoint.schema.constants.RelationTypes; import com.evolveum.midpoint.schema.constants.SchemaConstants; import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.schema.util.ObjectTypeUtil; @@ -28,7 +29,6 @@ import com.evolveum.midpoint.util.logging.LoggingUtils; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; -import com.evolveum.midpoint.web.component.assignment.RelationTypes; import com.evolveum.midpoint.web.component.input.DropDownChoicePanel; import com.evolveum.midpoint.web.page.admin.configuration.component.EmptyOnChangeAjaxFormUpdatingBehavior; import com.evolveum.midpoint.web.security.SecurityUtils; @@ -36,6 +36,7 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.FocusType; import org.apache.commons.collections.map.HashedMap; import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.model.Model; import javax.xml.namespace.QName; @@ -60,10 +61,10 @@ public FocusTypeAssignmentPopupTabPanel(String id, ObjectTypes type){ } @Override - protected void initParametersPanel(){ + protected void initParametersPanel(Fragment parametersPanel){ WebMarkupContainer relationContainer = new WebMarkupContainer(ID_RELATION_CONTAINER); relationContainer.setOutputMarkupId(true); - add(relationContainer); + parametersPanel.add(relationContainer); DropDownChoicePanel relationSelector = WebComponentUtil.createEnumPanel(RelationTypes.class, ID_RELATION, WebComponentUtil.createReadonlyModelFromEnum(RelationTypes.class), Model.of(RelationTypes.MEMBER), @@ -125,4 +126,9 @@ protected ObjectQuery addFilterToContentQuery(ObjectQuery query){ query.addFilter(filter); return query; } + + @Override + protected ObjectTypes getObjectType(){ + return ObjectTypes.FOCUS_TYPE; + } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.html index f1cc32f438f..25fd8f0bab8 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.html @@ -17,23 +17,29 @@ - -
-
-
- -
-
-
-
-
-
+ + +
+
+
+
-
- +
+
+
+
+
+ +
+
+
+ +
-
+
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.java index 4d561ac22dc..642aa06a13a 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.java @@ -19,20 +19,20 @@ import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.prism.delta.ObjectDelta; import com.evolveum.midpoint.schema.constants.ObjectTypes; +import com.evolveum.midpoint.schema.constants.RelationTypes; import com.evolveum.midpoint.schema.constants.SchemaConstants; import com.evolveum.midpoint.schema.util.ObjectTypeUtil; import com.evolveum.midpoint.util.exception.SchemaException; import com.evolveum.midpoint.util.logging.LoggingUtils; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; -import com.evolveum.midpoint.web.component.assignment.RelationTypes; import com.evolveum.midpoint.web.component.input.DropDownChoicePanel; import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour; -import com.evolveum.midpoint.web.component.wizard.resource.component.schemahandling.modal.LimitationsEditorDialog; import com.evolveum.midpoint.web.page.admin.configuration.component.EmptyOnChangeAjaxFormUpdatingBehavior; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; import org.apache.commons.collections.CollectionUtils; import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.model.Model; import javax.xml.namespace.QName; @@ -51,11 +51,11 @@ public abstract class MemberPopupTabPanel extends Abstract private static final String ID_RELATION = "relation"; private PageBase pageBase; - private List availableRelationList = new ArrayList<>(); + private List supportedRelationList = new ArrayList<>(); - public MemberPopupTabPanel(String id, ObjectTypes type, List availableRelationList){ - super(id, type); - this.availableRelationList = availableRelationList; + public MemberPopupTabPanel(String id, List supportedRelationList){ + super(id); + this.supportedRelationList = supportedRelationList; } @Override @@ -65,7 +65,7 @@ protected void onInitialize(){ } @Override - protected void initParametersPanel(){ + protected void initParametersPanel(Fragment parametersPanel){ WebMarkupContainer relationContainer = new WebMarkupContainer(ID_RELATION_CONTAINER); relationContainer.setOutputMarkupId(true); relationContainer.add(new VisibleEnableBehaviour(){ @@ -73,18 +73,18 @@ protected void initParametersPanel(){ @Override public boolean isVisible(){ - return CollectionUtils.isNotEmpty(availableRelationList); + return CollectionUtils.isNotEmpty(supportedRelationList); } @Override public boolean isEnabled(){ - return CollectionUtils.isNotEmpty(availableRelationList) && availableRelationList.size() > 1; + return CollectionUtils.isNotEmpty(supportedRelationList) && supportedRelationList.size() > 1; } }); - add(relationContainer); + parametersPanel.add(relationContainer); DropDownChoicePanel relationSelector = new DropDownChoicePanel (ID_RELATION, - Model.of(getDefaultRelationValue()), Model.ofList(availableRelationList), + Model.of(getDefaultRelationValue()), Model.ofList(supportedRelationList), WebComponentUtil.getEnumChoiceRenderer(MemberPopupTabPanel.this), false); relationSelector.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior()); relationSelector.setOutputMarkupId(true); @@ -93,13 +93,13 @@ public boolean isEnabled(){ } private RelationTypes getDefaultRelationValue(){ - return CollectionUtils.isNotEmpty(availableRelationList) ? availableRelationList.get(0) : RelationTypes.MEMBER; + return CollectionUtils.isNotEmpty(supportedRelationList) ? supportedRelationList.get(0) : RelationTypes.MEMBER; } protected ObjectDelta prepareDelta(){ ObjectDelta delta = null; try { - Class classType = WebComponentUtil.qnameToClass(pageBase.getPrismContext(), type.getTypeQName()); + Class classType = WebComponentUtil.qnameToClass(pageBase.getPrismContext(), getObjectType().getTypeQName()); delta = ObjectDelta.createEmptyModifyDelta(classType, "fakeOid", pageBase.getPrismContext()); AssignmentType newAssignment = new AssignmentType(); ObjectReferenceType ref = ObjectTypeUtil.createObjectRef(getAbstractRoleTypeObject()); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MultiTypesMemberPopupTabPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MultiTypesMemberPopupTabPanel.html new file mode 100644 index 00000000000..52d55c3e983 --- /dev/null +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MultiTypesMemberPopupTabPanel.html @@ -0,0 +1,29 @@ + + + + + +
+
+ +