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) {