Skip to content

Commit

Permalink
fix for MID-1924
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed May 29, 2014
1 parent 8c90b7f commit a25c00e
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
Expand Up @@ -19,6 +19,9 @@
<body>
<wicket:extend>
<form wicket:id="mainForm" autocomplete="off">
<div class="alert alert-warning" wicket:id="protectedMessage">
<wicket:message key="pageAccount.message.cantEditProtectedAccount"/></div>

<div class="row">
<div class="col-md-6">
<div wicket:id="account"/>
Expand Down
Expand Up @@ -35,6 +35,7 @@
import com.evolveum.midpoint.web.component.prism.PrismObjectPanel;
import com.evolveum.midpoint.web.component.util.LoadableModel;
import com.evolveum.midpoint.web.component.util.ObjectWrapperUtil;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.resources.PageAdminResources;
import com.evolveum.midpoint.web.page.admin.resources.PageResources;
import com.evolveum.midpoint.web.resource.img.ImgResources;
Expand All @@ -48,6 +49,8 @@

import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.StringResourceModel;
Expand Down Expand Up @@ -75,6 +78,8 @@ public class PageAccount extends PageAdminResources {
private static final String OPERATION_LOAD_ACCOUNT = DOT_CLASS + "loadAccount";
private static final String OPERATION_SAVE_ACCOUNT = DOT_CLASS + "saveAccount";

private static final String ID_PROTECTED_MESSAGE = "protectedMessage";

private IModel<ObjectWrapper> accountModel;

public PageAccount() {
Expand Down Expand Up @@ -105,16 +110,28 @@ private ObjectWrapper loadAccount() {
}

ObjectWrapper wrapper = ObjectWrapperUtil.createObjectWrapper(null, null, account, ContainerStatus.MODIFYING, this);
OperationResultType fetchResult = account.getPropertyRealValue(ShadowType.F_FETCH_RESULT, OperationResultType.class);
OperationResultType fetchResult = account.getPropertyRealValue(ShadowType.F_FETCH_RESULT, OperationResultType.class);
wrapper.setFetchResult(OperationResult.createOperationResult(fetchResult));
wrapper.setShowEmpty(false);
return wrapper;
}

private void initLayout() {
Form mainForm = new Form("mainForm");
mainForm.setMultiPart(true);
add(mainForm);

WebMarkupContainer protectedMessage = new WebMarkupContainer(ID_PROTECTED_MESSAGE);
protectedMessage.add(new VisibleEnableBehaviour() {

@Override
public boolean isVisible() {
ObjectWrapper wrapper = accountModel.getObject();
return wrapper.isProtectedAccount();
}
});
mainForm.add(protectedMessage);

PrismObjectPanel userForm = new PrismObjectPanel("account", accountModel, new PackageResourceReference(
ImgResources.class, ImgResources.HDD_PRISM), mainForm) {

Expand All @@ -141,6 +158,14 @@ protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(getFeedbackPanel());
}
};
save.add(new VisibleEnableBehaviour() {

@Override
public boolean isVisible() {
ObjectWrapper wrapper = accountModel.getObject();
return !wrapper.isProtectedAccount();
}
});
mainForm.add(save);

AjaxButton back = new AjaxButton("back", createStringResource("pageAccount.button.back")) {
Expand Down
Expand Up @@ -19,3 +19,4 @@ pageAccount.message.cantEditAccount=Couldn't load account for editing.
pageAccount.description=Account on resource
pageAccount.button.save=Save
pageAccount.button.back=Back
pageAccount.message.cantEditProtectedAccount=This is protected account, it can't be modified.

0 comments on commit a25c00e

Please sign in to comment.