Skip to content

Commit

Permalink
MID-8713:move approver to end of relation list in governance card panel
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Apr 12, 2023
1 parent e61e366 commit f81278c
Showing 1 changed file with 21 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
import com.evolveum.midpoint.gui.api.component.button.DropdownButtonDto;
import com.evolveum.midpoint.gui.api.component.button.DropdownButtonPanel;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.GuiDisplayTypeUtil;
import com.evolveum.midpoint.gui.api.util.LocalizationUtil;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.search.*;
import com.evolveum.midpoint.gui.impl.component.tile.*;
Expand All @@ -22,8 +20,10 @@
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
import com.evolveum.midpoint.schema.constants.RelationTypes;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.QNameUtil;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.web.component.AjaxIconButton;
Expand All @@ -40,8 +40,6 @@
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import com.evolveum.prism.xml.ns._public.types_3.PolyStringType;

import org.apache.wicket.Component;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxEventBehavior;
Expand Down Expand Up @@ -314,7 +312,7 @@ private List<TemplateTile<SelectableBean<FocusType>>> createTileObjects(Template
for (AssignmentType assignmentType : memberships) {
TemplateTile<SelectableBean<FocusType>> newTile = defaultTile.clone();
SelectableBeanImpl newBean = new SelectableBeanImpl<>(
((SelectableBeanImpl)defaultTile.getValue()).getModel());
((SelectableBeanImpl) defaultTile.getValue()).getModel());
newBean.setCustomData(assignmentType.getTargetRef().getRelation());
newTile.setValue(newBean);
ret.add(newTile);
Expand All @@ -323,7 +321,7 @@ private List<TemplateTile<SelectableBean<FocusType>>> createTileObjects(Template
ret.stream().filter(tile -> tile.getValue().getCustomData() != null)
.forEach(tile -> tile.addTag(
WebComponentUtil.getRelationDefinition(
(QName)tile.getValue().getCustomData()).getDisplay()));
(QName) tile.getValue().getCustomData()).getDisplay()));

return ret;
}
Expand Down Expand Up @@ -361,7 +359,7 @@ protected void customizeTilePanel(TilePanel tp) {
tp.add(AttributeAppender.append("style", "min-width:200px"));
}
};
((ChooseRelationPopup)choose).setOutputMarkupId(true);
((ChooseRelationPopup) choose).setOutputMarkupId(true);
} else {
choose = createAssignPopup(null);
}
Expand Down Expand Up @@ -416,7 +414,7 @@ protected void onUnassign(AjaxRequestTarget target) {
Object data = model.getObject().getValue().getCustomData();
unassignMembersPerformed(
new PropertyModel<>(model, "value"),
data instanceof QName ? (QName)data : null,
data instanceof QName ? (QName) data : null,
target);
}

Expand Down Expand Up @@ -552,4 +550,19 @@ protected void executeSimpleUnassignedOperation(IModel<?> rowModel, QName relati
super.executeSimpleUnassignedOperation(rowModel, relation, confirmModel, target);
unselectAllPerformed(target);
}

@Override
protected List<QName> getSupportedRelations() {
List<QName> relations = super.getSupportedRelations();

Optional<QName> approver = relations.stream()
.filter(relation -> QNameUtil.match(relation, RelationTypes.APPROVER.getRelation()))
.findFirst();

if (approver.isPresent()) {
relations.remove(approver.get());
relations.add(approver.get());
}
return relations;
}
}

0 comments on commit f81278c

Please sign in to comment.