diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/AutoCompleteTextPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/AutoCompleteTextPanel.html
new file mode 100644
index 00000000000..2490bfe0e9f
--- /dev/null
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/AutoCompleteTextPanel.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/AutoCompleteTextPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/AutoCompleteTextPanel.java
new file mode 100644
index 00000000000..57180f25c04
--- /dev/null
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/AutoCompleteTextPanel.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2010-2013 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.web.component.input;
+
+import com.evolveum.midpoint.web.component.prism.InputPanel;
+import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteSettings;
+import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.model.IModel;
+
+import java.util.Iterator;
+
+/**
+ * @author shood
+ * */
+public abstract class AutoCompleteTextPanel extends InputPanel {
+
+ private static final String ID_INPUT = "input";
+
+ public AutoCompleteTextPanel(String id, IModel model) {
+ this(id, model, String.class);
+ }
+
+ public AutoCompleteTextPanel(String id, IModel model, Class clazz) {
+ super(id);
+
+ AutoCompleteSettings autoCompleteSettings = new AutoCompleteSettings();
+ autoCompleteSettings.setShowListOnEmptyInput(true);
+ final AutoCompleteTextField input = new AutoCompleteTextField(ID_INPUT, model, autoCompleteSettings) {
+
+ @Override
+ protected Iterator getChoices(String input) {
+ return getIterator(input);
+ }
+ };
+ input.setType(clazz);
+ add(input);
+ }
+
+ /**
+ * This method takes care of retrieving an iterator over all
+ * options that can be completed. The generation of options can be
+ * affected by using current users input in 'input' variable.
+ * */
+ public abstract Iterator getIterator(String input);
+
+ @Override
+ public FormComponent getBaseFormComponent() {
+ return (FormComponent) get(ID_INPUT);
+ }
+}
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerPanel.java
index 7f3d248d4c3..39079bb6623 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerPanel.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerPanel.java
@@ -18,6 +18,7 @@
import com.evolveum.midpoint.prism.PrismContainer;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
+import com.evolveum.midpoint.web.page.PageBase;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -37,14 +38,16 @@
public class PrismContainerPanel extends Panel {
private boolean showHeader;
+ private PageBase pageBase;
public PrismContainerPanel(String id, IModel model, Form form) {
- this(id, model, true, form);
+ this(id, model, true, form, null);
}
- public PrismContainerPanel(String id, final IModel model, boolean showHeader, Form form) {
+ public PrismContainerPanel(String id, final IModel model, boolean showHeader, Form form, PageBase pageBase) {
super(id);
this.showHeader = showHeader;
+ this.pageBase = pageBase;
add(new AttributeAppender("class", new Model<>("attributeComponent"), " "));
add(new VisibleEnableBehaviour() {
@@ -90,7 +93,7 @@ public boolean isVisible() {
@Override
protected void populateItem(ListItem item) {
- item.add(new PrismPropertyPanel("property", item.getModel(), form));
+ item.add(new PrismPropertyPanel("property", item.getModel(), form, pageBase));
item.add(AttributeModifier.append("class", createStyleClassModel(item.getModel())));
}
};
@@ -98,6 +101,10 @@ protected void populateItem(ListItem item) {
add(properties);
}
+ protected PageBase getPageBase(){
+ return pageBase;
+ }
+
private IModel createStyleClassModel(final IModel wrapper) {
return new AbstractReadOnlyModel() {
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismObjectPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismObjectPanel.java
index 1429f12b8e2..b9083444041 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismObjectPanel.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismObjectPanel.java
@@ -20,6 +20,7 @@
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
+import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.web.resource.img.ImgResources;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationStatusType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationType;
@@ -60,11 +61,13 @@ public class PrismObjectPanel extends Panel {
private static final String ID_HEADER = "header";
private boolean showHeader = true;
+ private PageBase pageBase;
- public PrismObjectPanel(String id, IModel model, ResourceReference image, Form form) {
+ public PrismObjectPanel(String id, IModel model, ResourceReference image, Form form, PageBase pageBase) {
super(id);
setOutputMarkupId(true);
+ this.pageBase = pageBase;
initLayout(model, image, form);
}
@@ -306,7 +309,7 @@ protected IModel> createContainerModel(IModel item, Form form){
- item.add(new PrismContainerPanel("container", item.getModel(), form));
+ item.add(new PrismContainerPanel("container", item.getModel(), true, form, pageBase));
}
protected IModel createDisplayName(IModel model) {
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java
index 3adcb7f7cce..553f5e3f8ab 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java
@@ -27,6 +27,7 @@
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.util.LoadableModel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
+import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.web.util.InfoTooltipBehavior;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
@@ -55,8 +56,11 @@ public class PrismPropertyPanel extends Panel {
private static final String ID_HELP = "help";
private static final String ID_LABEL_CONTAINER = "labelContainer";
- public PrismPropertyPanel(String id, final IModel model, Form form) {
+ private PageBase pageBase;
+
+ public PrismPropertyPanel(String id, final IModel model, Form form, PageBase pageBase) {
super(id);
+ this.pageBase = pageBase;
setOutputMarkupId(true);
add(new VisibleEnableBehaviour() {
@@ -147,7 +151,7 @@ public boolean isVisible() {
@Override
protected void populateItem(final ListItem item) {
- PrismValuePanel panel = new PrismValuePanel("value", item.getModel(), label, form, getValueCssClass(), getInputCssClass());
+ PrismValuePanel panel = new PrismValuePanel("value", item.getModel(), label, form, getValueCssClass(), getInputCssClass(), pageBase);
item.add(panel);
item.add(AttributeModifier.append("class", createStyleClassModel(item.getModel())));
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java
index a48aa44a567..28d08136f2d 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java
@@ -16,39 +16,29 @@
package com.evolveum.midpoint.web.component.prism;
-import com.evolveum.midpoint.prism.PrismContext;
-import com.evolveum.midpoint.prism.PrismObject;
-import com.evolveum.midpoint.prism.PrismProperty;
-import com.evolveum.midpoint.prism.PrismPropertyDefinition;
-import com.evolveum.midpoint.prism.PrismPropertyValue;
+import com.evolveum.midpoint.prism.*;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.xml.XsdTypeMapper;
import com.evolveum.midpoint.schema.DeltaConvertor;
+import com.evolveum.midpoint.schema.GetOperationOptions;
+import com.evolveum.midpoint.schema.RetrieveOption;
+import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.processor.ResourceAttribute;
+import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ShadowUtil;
import com.evolveum.midpoint.util.DOMUtil;
import com.evolveum.midpoint.util.exception.SchemaException;
-import com.evolveum.midpoint.web.component.input.DatePanel;
-import com.evolveum.midpoint.web.component.input.PasswordPanel;
-import com.evolveum.midpoint.web.component.input.TextAreaPanel;
-import com.evolveum.midpoint.web.component.input.TextDetailsPanel;
-import com.evolveum.midpoint.web.component.input.TextPanel;
-import com.evolveum.midpoint.web.component.input.TriStateComboPanel;
-import com.evolveum.midpoint.web.component.input.UploadPanel;
+import com.evolveum.midpoint.web.component.input.*;
import com.evolveum.midpoint.web.component.model.delta.DeltaDto;
import com.evolveum.midpoint.web.component.model.delta.ModificationsPanel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.web.util.DateValidator;
import com.evolveum.midpoint.web.util.WebMiscUtil;
-import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationStatusType;
-import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationType;
-import com.evolveum.midpoint.xml.ns._public.common.common_3.LockoutStatusType;
-import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
-import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
-import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;
+import com.evolveum.midpoint.web.util.WebModelUtils;
+import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import com.evolveum.midpoint.xml.ns.model.workflow.common_forms_3.AssignmentCreationApprovalFormType;
import com.evolveum.prism.xml.ns._public.types_3.ObjectDeltaType;
import com.evolveum.prism.xml.ns._public.types_3.ProtectedStringType;
@@ -75,6 +65,7 @@
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Iterator;
import java.util.List;
/**
@@ -86,11 +77,14 @@ public class PrismValuePanel extends Panel {
private static final String ID_VALUE_CONTAINER = "valueContainer";
private IModel model;
+ private PageBase pageBase;
public PrismValuePanel(String id, IModel model, IModel label, Form form,
- String valueCssClass, String inputCssClass){
+ String valueCssClass, String inputCssClass, PageBase pageBase){
super(id);
Validate.notNull(model, "Property value model must not be null.");
+ Validate.notNull(pageBase, "The reference to page base must not be null.");
+ this.pageBase = pageBase;
this.model = model;
initLayout(label, form, valueCssClass, inputCssClass);
@@ -410,9 +404,33 @@ public String createAssociationTooltip(){
} else if (DOMUtil.XSD_BOOLEAN.equals(valueType)) {
panel = new TriStateComboPanel(id, new PropertyModel(model, baseExpression));
} else if (SchemaConstants.T_POLY_STRING_TYPE.equals(valueType)) {
- InputPanel inputPanel = new TextPanel<>(id, new PropertyModel(model, baseExpression + ".orig"), String.class);
-
+ InputPanel inputPanel;
PrismPropertyDefinition def = property.getDefinition();
+
+ if(def.getValueEnumerationRef() != null){
+ PrismReferenceValue valueEnumerationRef = def.getValueEnumerationRef();
+ String lookupTableUid = valueEnumerationRef.getOid();
+ OperationResult result = new OperationResult("loadLookupTable");
+
+// GetOperationOptions retrieveOption = GetOperationOptions.createRetrieve(RetrieveOption.INCLUDE);
+// Collection> options = SelectorOptions.createCollection(retrieveOption);
+ Collection> options = SelectorOptions.createCollection(LookupTableType.F_ROW,
+ GetOperationOptions.createRetrieve(RetrieveOption.INCLUDE));
+ final PrismObject lookupTable = WebModelUtils.loadObject(LookupTableType.class,
+ lookupTableUid, options, result, pageBase);
+
+ inputPanel = new AutoCompleteTextPanel(id, new PropertyModel(model, baseExpression + ".orig"), String.class) {
+
+ @Override
+ public Iterator getIterator(String input) {
+ return prepareAutoCompleteList(input, lookupTable).iterator();
+ }
+ };
+
+ } else {
+ inputPanel = new TextPanel<>(id, new PropertyModel(model, baseExpression + ".orig"), String.class);
+ }
+
if (ObjectType.F_NAME.equals(def.getName()) || UserType.F_FULL_NAME.equals(def.getName())) {
inputPanel.getBaseFormComponent().setRequired(true);
}
@@ -471,19 +489,75 @@ public DeltaDto getObject() {
}
if (isEnum(property)) {
- return WebMiscUtil.createEnumPanel(definition, id, new PropertyModel<>(model, baseExpression), this);
-
+ return WebMiscUtil.createEnumPanel(definition, id, new PropertyModel<>(model, baseExpression), this);
}
// // default QName validation is a bit weird, so let's treat QNames as strings [TODO finish this - at the parsing side]
// if (type == QName.class) {
// type = String.class;
// }
- panel = new TextPanel<>(id, new PropertyModel(model, baseExpression), type);
+
+ PrismPropertyDefinition def = property.getDefinition();
+
+ if(def.getValueEnumerationRef() != null){
+ PrismReferenceValue valueEnumerationRef = def.getValueEnumerationRef();
+ String lookupTableUid = valueEnumerationRef.getOid();
+ OperationResult result = new OperationResult("loadLookupTable");
+
+// GetOperationOptions retrieveOption = GetOperationOptions.createRetrieve(RetrieveOption.INCLUDE);
+// Collection> options = SelectorOptions.createCollection(retrieveOption);
+ Collection> options = SelectorOptions.createCollection(LookupTableType.F_ROW,
+ GetOperationOptions.createRetrieve(RetrieveOption.INCLUDE));
+ final PrismObject lookupTable = WebModelUtils.loadObject(LookupTableType.class,
+ lookupTableUid, options, result, pageBase);
+
+ panel = new AutoCompleteTextPanel(id, new PropertyModel(model, baseExpression), type) {
+
+ @Override
+ public Iterator getIterator(String input) {
+ return prepareAutoCompleteList(input, lookupTable).iterator();
+ }
+ };
+
+ } else {
+ panel = new TextPanel<>(id, new PropertyModel(model, baseExpression), type);
+ }
}
return panel;
}
+ private List prepareAutoCompleteList(String input, PrismObject lookupTable){
+ List values = new ArrayList<>();
+
+ if(lookupTable == null){
+ return values;
+ }
+
+ List rows = lookupTable.asObjectable().getRow();
+
+ if(input == null || input.isEmpty()){
+ for(LookupTableRowType row: rows){
+ values.add(WebMiscUtil.getOrigStringFromPoly(row.getLabel()));
+
+ if(values.size() > 10){
+ return values;
+ }
+ }
+ } else {
+ for(LookupTableRowType row: rows){
+ if(WebMiscUtil.getOrigStringFromPoly(row.getLabel()).startsWith(input)){
+ values.add(WebMiscUtil.getOrigStringFromPoly(row.getLabel()));
+ }
+
+ if(values.size() > 10){
+ return values;
+ }
+ }
+ }
+
+ return values;
+ }
+
private boolean isEnum(PrismProperty property){
PrismPropertyDefinition definition = property.getDefinition();
//// Object realValue = property.getAnyRealValue();
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wizard/resource/ConfigurationStep.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wizard/resource/ConfigurationStep.java
index 7dbe78e042a..0ba1d914fc4 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wizard/resource/ConfigurationStep.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/wizard/resource/ConfigurationStep.java
@@ -99,7 +99,7 @@ private void initLayout() {
form.setOutputMarkupId(true);
add(form);
- final PrismObjectPanel configuration = new PrismObjectPanel(ID_CONFIGURATION, configurationProperties, null, null);
+ final PrismObjectPanel configuration = new PrismObjectPanel(ID_CONFIGURATION, configurationProperties, null, null, getPageBase());
form.add(configuration);
AjaxSubmitButton testConnection = new AjaxSubmitButton(ID_TEST_CONNECTION,
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/content/PageAccount.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/content/PageAccount.java
index 66e374ef5dd..71f7f27acbc 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/content/PageAccount.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/content/PageAccount.java
@@ -133,7 +133,7 @@ public boolean isVisible() {
mainForm.add(protectedMessage);
PrismObjectPanel userForm = new PrismObjectPanel("account", accountModel, new PackageResourceReference(
- ImgResources.class, ImgResources.HDD_PRISM), mainForm) {
+ ImgResources.class, ImgResources.HDD_PRISM), mainForm, this) {
@Override
protected IModel createDescription(IModel model) {
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRole.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRole.java
index f72a8015b6e..3f18ba86510 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRole.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRole.java
@@ -38,6 +38,7 @@
import com.evolveum.midpoint.web.component.progress.ProgressReporter;
import com.evolveum.midpoint.web.component.progress.ProgressReportingAwarePage;
import com.evolveum.midpoint.web.component.util.*;
+import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.web.page.admin.configuration.component.ChooseTypeDialog;
import com.evolveum.midpoint.web.page.admin.roles.component.MultiplicityPolicyDialog;
import com.evolveum.midpoint.web.page.admin.roles.component.UserOrgReferenceChoosePanel;
@@ -606,7 +607,7 @@ public boolean isVisible() {
@Override
protected void populateItem(ListItem item) {
- PrismPropertyPanel propertyPanel = new PrismPropertyPanel(ID_EXTENSION_PROPERTY, item.getModel(), form);
+ PrismPropertyPanel propertyPanel = new PrismPropertyPanel(ID_EXTENSION_PROPERTY, item.getModel(), form, PageRole.this);
propertyPanel.get("labelContainer:label").add(new AttributeAppender("style", "font-weight:bold;"));
propertyPanel.get("labelContainer").add(new AttributeModifier("class", ID_LABEL_SIZE + " control-label"));
item.add(propertyPanel);
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageOrgUnit.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageOrgUnit.java
index 9553fdd03ed..5b16778a93f 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageOrgUnit.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageOrgUnit.java
@@ -48,6 +48,7 @@
import com.evolveum.midpoint.web.component.util.ObjectWrapperUtil;
import com.evolveum.midpoint.web.component.util.PrismPropertyModel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
+import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.web.page.admin.users.component.ExecuteChangeOptionsDto;
import com.evolveum.midpoint.web.page.admin.users.component.ExecuteChangeOptionsPanel;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
@@ -463,7 +464,7 @@ public boolean isVisible() {
@Override
protected void populateItem(ListItem item) {
- PrismPropertyPanel propertyPanel = new PrismPropertyPanel(ID_EXTENSION_PROPERTY, item.getModel(), form);
+ PrismPropertyPanel propertyPanel = new PrismPropertyPanel(ID_EXTENSION_PROPERTY, item.getModel(), form, PageOrgUnit.this);
propertyPanel.get("labelContainer:label").add(new AttributeAppender("style", "font-weight:bold;"));
propertyPanel.get("labelContainer").add(new AttributeModifier("class", ID_LABEL_SIZE + " control-label"));
item.add(propertyPanel);
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java
index f1f5807decd..648427bec60 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUser.java
@@ -360,7 +360,7 @@ private void initLayout() {
initSummaryInfo(mainForm);
PrismObjectPanel userForm = new PrismObjectPanel(ID_USER_FORM, userModel, new PackageResourceReference(
- ImgResources.class, ImgResources.USER_PRISM), mainForm) {
+ ImgResources.class, ImgResources.USER_PRISM), mainForm, this) {
@Override
protected IModel createDescription(IModel model) {
@@ -620,7 +620,7 @@ protected void populateItem(final ListItem item) {
ImgResources.HDD_PRISM);
panel = new PrismObjectPanel("account", new PropertyModel(
- item.getModel(), "object"), packageRef, (Form) PageUser.this.get(ID_MAIN_FORM)) {
+ item.getModel(), "object"), packageRef, (Form) PageUser.this.get(ID_MAIN_FORM), PageUser.this) {
@Override
protected Component createHeader(String id, IModel model) {
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java
index 55b1dd76701..8ace188b75f 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/workflow/PageWorkItem.java
@@ -487,7 +487,7 @@ public String getObject() {
mainForm.add(candidates);
PrismObjectPanel requestSpecificForm = new PrismObjectPanel("requestSpecificForm", requestSpecificModel,
- new PackageResourceReference(ImgResources.class, ImgResources.DECISION_PRISM), mainForm) {
+ new PackageResourceReference(ImgResources.class, ImgResources.DECISION_PRISM), mainForm, this) {
@Override
protected IModel createDisplayName(IModel model) {
@@ -508,7 +508,7 @@ protected IModel createDescription(IModel model) {
mainForm.add(additionalInfoAccordion);
PrismObjectPanel requesterForm = new PrismObjectPanel("requesterForm", requesterModel,
- new PackageResourceReference(ImgResources.class, ImgResources.USER_PRISM), mainForm);
+ new PackageResourceReference(ImgResources.class, ImgResources.USER_PRISM), mainForm, this);
requesterForm.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
@@ -518,7 +518,7 @@ public boolean isVisible() {
mainForm.add(requesterForm);
PrismObjectPanel objectOldForm = new PrismObjectPanel("objectOldForm", objectOldModel,
- new PackageResourceReference(ImgResources.class, ImgResources.USER_PRISM), mainForm);
+ new PackageResourceReference(ImgResources.class, ImgResources.USER_PRISM), mainForm, this);
objectOldForm.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
@@ -528,7 +528,7 @@ public boolean isVisible() {
mainForm.add(objectOldForm);
PrismObjectPanel objectNewForm = new PrismObjectPanel("objectNewForm", objectNewModel,
- new PackageResourceReference(ImgResources.class, ImgResources.USER_PRISM), mainForm);
+ new PackageResourceReference(ImgResources.class, ImgResources.USER_PRISM), mainForm, this);
objectNewForm.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
@@ -538,11 +538,11 @@ public boolean isVisible() {
mainForm.add(objectNewForm);
PrismObjectPanel additionalDataForm = new PrismObjectPanel("additionalDataForm", additionalDataModel,
- new PackageResourceReference(ImgResources.class, ImgResources.ROLE_PRISM), mainForm);
+ new PackageResourceReference(ImgResources.class, ImgResources.ROLE_PRISM), mainForm, this);
mainForm.add(additionalDataForm);
PrismObjectPanel trackingDataForm = new PrismObjectPanel("trackingDataForm", trackingDataModel,
- new PackageResourceReference(ImgResources.class, ImgResources.TRACKING_PRISM), mainForm) {
+ new PackageResourceReference(ImgResources.class, ImgResources.TRACKING_PRISM), mainForm, this) {
@Override
protected IModel createDisplayName(IModel model) {