Skip to content

Commit

Permalink
self-service profile buttons (MID-7467)
Browse files Browse the repository at this point in the history
(cherry picked from commit ce8151a)
  • Loading branch information
katkav committed Jan 19, 2022
1 parent 63674bd commit 518e462
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
Expand Up @@ -18,10 +18,8 @@
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerWrapper;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.AjaxCompositedIconButton;
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
import com.evolveum.midpoint.gui.impl.component.icon.IconCssStyle;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.PageAssignmentHolderDetails;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.prism.PrismContainer;
import com.evolveum.midpoint.prism.PrismObject;
Expand All @@ -38,12 +36,10 @@
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.AjaxIconButton;
import com.evolveum.midpoint.web.component.assignment.AssignmentEditorDto;
import com.evolveum.midpoint.web.component.dialog.Popupable;
import com.evolveum.midpoint.web.component.prism.ValueStatus;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.page.admin.users.dto.UserDtoStatus;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.commons.collections4.CollectionUtils;
Expand Down Expand Up @@ -93,12 +89,16 @@ public void onClick(AjaxRequestTarget target) {
}
};
changeArchetype.showTitleAsLabel(true);
changeArchetype.add(new VisibleBehaviour(() -> !getModelObject().isReadOnly() && isEditingObject()
&& getObjectArchetypeRef() != null)); // && CollectionUtils.isNotEmpty(getArchetypeOidsListToAssign())));
changeArchetype.add(new VisibleBehaviour(() -> isChangeArchetypeButtonVisible())); // && CollectionUtils.isNotEmpty(getArchetypeOidsListToAssign())));
changeArchetype.add(AttributeAppender.append("class", "btn-default btn-sm"));
repeatingView.add(changeArchetype);
}

protected boolean isChangeArchetypeButtonVisible() {
return !getModelObject().isReadOnly() && isEditingObject()
&& getObjectArchetypeRef() != null;
}

private void changeArchetypeButtonClicked(AjaxRequestTarget target) {

AssignmentPopup changeArchetypePopup = new AssignmentPopup(getPageBase().getMainPopupBodyId(), Model.of(new AssignmentPopupDto(null))) {
Expand Down
Expand Up @@ -128,5 +128,19 @@ protected void previewPerformed(AjaxRequestTarget target) {

}

@Override
protected boolean isChangeArchetypeButtonVisible() {
if (isSelfprofile) {
return false;
}
return super.isChangeArchetypeButtonVisible();
}

@Override
protected boolean isEditRawButtonVisible() {
if (isSelfprofile) {
return false;
}
return super.isEditRawButtonVisible();
}
}
Expand Up @@ -93,12 +93,16 @@ public void onClick(AjaxRequestTarget ajaxRequestTarget) {
editRawPerformed(ajaxRequestTarget);
}
};
edit.add(new VisibleBehaviour(this::isEditingObject));
edit.add(new VisibleBehaviour(this::isEditRawButtonVisible));
edit.showTitleAsLabel(true);
edit.add(AttributeAppender.append("class", "btn btn-default btn-sm"));
repeatingView.add(edit);
}

protected boolean isEditRawButtonVisible() {
return isEditingObject();
}

private void createBackButton(RepeatingView repeatingView) {
AjaxIconButton back = new AjaxIconButton(repeatingView.newChildId(), Model.of(GuiStyleConstants.ARROW_LEFT),
getPageBase().createStringResource("pageAdminFocus.button.back")) {
Expand Down

0 comments on commit 518e462

Please sign in to comment.