diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPanel.java index 5df111244b7..f3659f14f7f 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPanel.java @@ -115,6 +115,8 @@ protected void onComponentTag(ComponentTag tag) { protected void onUpdate(AjaxRequestTarget target) { boolean required = !StringUtils.isEmpty(password1.getModelObject()); password2.setRequired(required); + + changePasswordPerformed(); //fix of MID-2463 // target.add(password2); // target.appendJavaScript("$(\"#"+ password2.getMarkupId() +"\").focus()"); @@ -322,4 +324,6 @@ public void setObject(String object) { } } } + + protected void changePasswordPerformed(){} } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPropertyPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPropertyPanel.java index 49f75832006..26337a9e861 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPropertyPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/password/PasswordPropertyPanel.java @@ -9,6 +9,7 @@ import com.evolveum.midpoint.gui.api.factory.GuiComponentFactory; import com.evolveum.midpoint.gui.impl.factory.ItemRealValueModel; import com.evolveum.midpoint.gui.impl.prism.*; +import com.evolveum.midpoint.web.component.prism.ValueStatus; import com.evolveum.midpoint.web.page.admin.users.PageUser; import com.evolveum.prism.xml.ns._public.types_3.ProtectedStringType; import org.apache.wicket.Component; @@ -31,17 +32,20 @@ public PasswordPropertyPanel(String id, IModel> item, GuiComponentFactory factory, ItemVisibilityHandler visibilityHandler, ItemEditabilityHandler editabilityHandler) { - PasswordPanel passwordPanel; -// if (!(getPageBase() instanceof PageUser)) { -// passwordPanel = new PasswordPanel(ID_PASSWORD_PANEL, new ItemRealValueModel<>(item.getModel()), -// getModelObject() != null && getModelObject().isReadOnly(), getModelObject() == null); - -// } else { -// - passwordPanel = new PasswordPanel(ID_PASSWORD_PANEL, new ItemRealValueModel<>(item.getModel()), + PasswordPanel passwordPanel = new PasswordPanel(ID_PASSWORD_PANEL, new ItemRealValueModel<>(item.getModel()), getModelObject() != null && getModelObject().isReadOnly(), - item.getModelObject() == null || item.getModelObject().getRealValue() == null ); -// } + item.getModelObject() == null || item.getModelObject().getRealValue() == null ){ + private static final long serialVersionUID = 1L; + + @Override + protected void changePasswordPerformed(){ + PrismPropertyValueWrapper itemModel = item.getModelObject(); + if (itemModel != null){ + itemModel.setStatus(ValueStatus.MODIFIED); + } + } + + }; passwordPanel.setOutputMarkupId(true); item.add(passwordPanel); return passwordPanel; diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/prism/ProtectedStringTypeWrapperImpl.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/prism/ProtectedStringTypeWrapperImpl.java index 94510ba82d7..7804bee7328 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/prism/ProtectedStringTypeWrapperImpl.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/prism/ProtectedStringTypeWrapperImpl.java @@ -25,8 +25,6 @@ public class ProtectedStringTypeWrapperImpl extends PrismPropertyWrapperImpl parent, PrismProperty item, ItemStatus status) { super(parent, item, status); - -// getItem().setRealValue(null); } @Override