Skip to content

Commit

Permalink
save/preview changes buttons visibility
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Nov 7, 2017
1 parent ae2f9cf commit 8f45413
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 24 deletions.
Expand Up @@ -19,14 +19,25 @@
import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.roles.PageRole;
import com.evolveum.midpoint.web.page.admin.services.PageService;
import com.evolveum.midpoint.web.page.admin.users.PageMergeObjects;
import com.evolveum.midpoint.web.page.admin.users.PageOrgUnit;
import com.evolveum.midpoint.web.page.self.PageAssignmentDetails;
import com.evolveum.midpoint.web.page.self.PageAssignmentShoppingKart;
import com.evolveum.midpoint.web.session.RoleCatalogStorage;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AbstractRoleType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ServiceType;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.behavior.AttributeAppender;
Expand Down Expand Up @@ -58,9 +69,12 @@ public class RoleCatalogItemButton extends BasePanel<AssignmentEditorDto>{
private static final String ID_DETAILS_LINK = "detailsLink";
private static final String ID_DETAILS_LINK_LABEL = "detailsLinkLabel";
private static final String ID_DETAILS_LINK_ICON = "detailsLinkIcon";

private boolean plusIconClicked = false;

private static final String DOT_CLASS = RoleCatalogItemButton.class.getName() + ".";
private static final String OPERATION_LOAD_OBJECT = DOT_CLASS + "loadObject";
private static final Trace LOGGER = TraceManager.getTrace(RoleCatalogItemButton.class);

public RoleCatalogItemButton(String id, IModel<AssignmentEditorDto> model){
super(id, model);
}
Expand Down Expand Up @@ -252,15 +266,24 @@ private void targetObjectDetailsPerformed(AssignmentEditorDto assignment, AjaxRe
return;
}
if (!plusIconClicked) {
PageParameters parameters = new PageParameters();
parameters.add(OnePageParameterEncoder.PARAMETER, assignment.getTargetRef().getOid());
OperationResult result = new OperationResult(OPERATION_LOAD_OBJECT);
Task task = getPageBase().createSimpleTask(OPERATION_LOAD_OBJECT);

// PageParameters parameters = new PageParameters();
// parameters.add(OnePageParameterEncoder.PARAMETER, assignment.getTargetRef().getOid());

if (AssignmentEditorDtoType.ORG_UNIT.equals(assignment.getType())){
getPageBase().navigateToNext(PageOrgUnit.class, parameters);
PrismObject<OrgType> object = WebModelServiceUtils.loadObject(OrgType.class, assignment.getTargetRef().getOid(),
getPageBase(), task, result);
getPageBase().navigateToNext(new PageOrgUnit(object, true));
} else if (AssignmentEditorDtoType.ROLE.equals(assignment.getType())){
getPageBase().navigateToNext(PageRole.class, parameters);
PrismObject<RoleType> object = WebModelServiceUtils.loadObject(RoleType.class, assignment.getTargetRef().getOid(),
getPageBase(), task, result);
getPageBase().navigateToNext(new PageRole(object, true));
} else if (AssignmentEditorDtoType.SERVICE.equals(assignment.getType())){
getPageBase().navigateToNext(PageService.class, parameters);
PrismObject<ServiceType> object = WebModelServiceUtils.loadObject(ServiceType.class, assignment.getTargetRef().getOid(),
getPageBase(), task, result);
getPageBase().navigateToNext(new PageService(object, true));
}
} else {
plusIconClicked = false;
Expand Down
Expand Up @@ -61,8 +61,8 @@ protected void prepareObjectForAdd(PrismObject<T> focus) throws SchemaException
}

@Override
protected void initializeModel(final PrismObject<T> objectToEdit) {
super.initializeModel(objectToEdit);
protected void initializeModel(final PrismObject<T> objectToEdit, boolean isReadonly) {
super.initializeModel(objectToEdit, isReadonly);
inducementsModel = new LoadableModel<List<AssignmentEditorDto>>(false) {
@Override
protected List<AssignmentEditorDto> load() {
Expand Down
Expand Up @@ -90,8 +90,8 @@ public abstract class PageAdminFocus<F extends FocusType> extends PageAdminObjec


@Override
protected void initializeModel(final PrismObject<F> objectToEdit) {
super.initializeModel(objectToEdit);
protected void initializeModel(final PrismObject<F> objectToEdit, boolean isReadonly) {
super.initializeModel(objectToEdit, isReadonly);

projectionModel = new LoadableModel<List<FocusSubwrapperDto<ShadowType>>>(false) {
private static final long serialVersionUID = 1L;
Expand Down Expand Up @@ -130,11 +130,6 @@ protected void reviveModels() throws SchemaException {
WebComponentUtil.revive(projectionModel, getPrismContext());
}

protected ObjectWrapper<F> loadFocusWrapper(PrismObject<F> userToEdit) {
ObjectWrapper<F> objectWrapper = super.loadObjectWrapper(userToEdit);
return objectWrapper;
}

@Override
public void finishProcessing(AjaxRequestTarget target, OperationResult result, boolean returningFromAsync) {

Expand Down
Expand Up @@ -186,17 +186,21 @@ protected void reviveModels() throws SchemaException {


public void initialize(final PrismObject<O> objectToEdit) {
initializeModel(objectToEdit);
initialize(objectToEdit, false);
}

public void initialize(final PrismObject<O> objectToEdit, boolean isReadonly) {
initializeModel(objectToEdit, isReadonly);
initLayout();
}

protected void initializeModel(final PrismObject<O> objectToEdit) {
protected void initializeModel(final PrismObject<O> objectToEdit, boolean isReadonly) {
objectModel = new LoadableModel<ObjectWrapper<O>>(false) {
private static final long serialVersionUID = 1L;

@Override
protected ObjectWrapper<O> load() {
return loadObjectWrapper(objectToEdit);
return loadObjectWrapper(objectToEdit, isReadonly);
}
};

Expand Down Expand Up @@ -275,7 +279,7 @@ public boolean isEditingFocus() {
return getObjectOidParameter() != null;
}

protected ObjectWrapper<O> loadObjectWrapper(PrismObject<O> objectToEdit) {
protected ObjectWrapper<O> loadObjectWrapper(PrismObject<O> objectToEdit, boolean isReadonly) {
Task task = createSimpleTask(OPERATION_LOAD_OBJECT);
OperationResult result = task.getResult();
PrismObject<O> object = null;
Expand Down Expand Up @@ -341,6 +345,7 @@ protected ObjectWrapper<O> loadObjectWrapper(PrismObject<O> objectToEdit) {
loadParentOrgs(wrapper, task, result);

wrapper.setShowEmpty(!isEditingFocus());
wrapper.setReadonly(isReadonly);

if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Loaded focus wrapper:\n{}", wrapper.debugDump());
Expand Down
Expand Up @@ -61,6 +61,10 @@ public PageRole(PrismObject<RoleType> roleToEdit) {
initialize(roleToEdit);
}

public PageRole(PrismObject<RoleType> roleToEdit, boolean isReadonly) {
initialize(roleToEdit, isReadonly);
}

public PageRole(PageParameters parameters) {
getPageParameters().overwriteWith(parameters);
initialize(null);
Expand Down
Expand Up @@ -50,6 +50,10 @@ public PageService(final PrismObject<ServiceType> unitToEdit) {
initialize(unitToEdit);
}

public PageService(final PrismObject<ServiceType> unitToEdit, boolean isReadonly) {
initialize(unitToEdit, isReadonly);
}

public PageService(PageParameters parameters) {
getPageParameters().overwriteWith(parameters);
initialize(null);
Expand Down
Expand Up @@ -53,6 +53,10 @@ public PageOrgUnit(final PrismObject<OrgType> unitToEdit) {
initialize(unitToEdit);
}

public PageOrgUnit(final PrismObject<OrgType> unitToEdit, boolean isReadonly) {
initialize(unitToEdit, isReadonly);
}

public PageOrgUnit(PageParameters parameters) {
getPageParameters().overwriteWith(parameters);
initialize(null);
Expand Down
Expand Up @@ -111,8 +111,8 @@ public PageUser(final PrismObject<UserType> userToEdit) {
}

@Override
protected void initializeModel(final PrismObject<UserType> objectToEdit) {
super.initializeModel(objectToEdit);
protected void initializeModel(final PrismObject<UserType> objectToEdit, boolean isReadonly) {
super.initializeModel(objectToEdit, isReadonly);
delegationsModel = new LoadableModel<List<AssignmentEditorDto>>(false) {
@Override
protected List<AssignmentEditorDto> load() {
Expand Down
Expand Up @@ -73,9 +73,9 @@ public PageUserHistory(final PrismObject<UserType> user, String date) {
}

@Override
protected ObjectWrapper<UserType> loadObjectWrapper(PrismObject<UserType> user) {
ObjectWrapper<UserType> objectWrapper = super.loadObjectWrapper(user);
objectWrapper.setReadonly(true);
protected ObjectWrapper<UserType> loadObjectWrapper(PrismObject<UserType> user, boolean isReadonly) {
ObjectWrapper<UserType> objectWrapper = super.loadObjectWrapper(user, true);
// objectWrapper.setReadonly(true);
// objectWrapper.setShowEmpty(false);

for (ContainerWrapper container : objectWrapper.getContainers()) {
Expand Down

0 comments on commit 8f45413

Please sign in to comment.