From 1af24f8ca1eb3fccd9d13fa2c0eb420d52ad694c Mon Sep 17 00:00:00 2001 From: kate Date: Wed, 18 Mar 2020 00:22:50 +0100 Subject: [PATCH] changed originalAssigneeRef to assigneeRef for cert work items fixing merge conflicts --- .../certification/CertDecisionHelper.java | 31 ++++++++++++++-- .../certification/dto/CertWorkItemDto.java | 37 +++++++++++-------- 2 files changed, 49 insertions(+), 19 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/CertDecisionHelper.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/CertDecisionHelper.java index 31310ee54c2..566d40e2de9 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/CertDecisionHelper.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/CertDecisionHelper.java @@ -17,9 +17,11 @@ package com.evolveum.midpoint.web.page.admin.certification; import com.evolveum.midpoint.gui.api.page.PageBase; +import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.schema.constants.ObjectTypes; import com.evolveum.midpoint.web.component.data.column.IconColumn; import com.evolveum.midpoint.web.component.data.column.LinkColumn; +import com.evolveum.midpoint.web.component.data.column.LinkPanel; import com.evolveum.midpoint.web.page.admin.certification.dto.CertCaseOrWorkItemDto; import com.evolveum.midpoint.web.page.admin.certification.dto.CertWorkItemDto; import com.evolveum.midpoint.web.page.admin.certification.dto.SearchingUtils; @@ -27,18 +29,23 @@ import com.evolveum.midpoint.web.page.admin.certification.handlers.CertGuiHandlerRegistry; import com.evolveum.midpoint.web.util.ObjectTypeGuiDescriptor; import com.evolveum.midpoint.web.util.TooltipBehavior; +import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType; +import org.apache.commons.collections.CollectionUtils; import org.apache.wicket.AttributeModifier; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; +import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; import org.apache.wicket.markup.repeater.Item; +import org.apache.wicket.markup.repeater.RepeatingView; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import javax.xml.namespace.QName; import java.io.Serializable; +import java.util.List; import static com.evolveum.midpoint.gui.api.util.WebComponentUtil.dispatchToObjectDetailsPage; @@ -112,15 +119,33 @@ public void onClick(AjaxRequestTarget target, IModel rowM public IColumn createReviewerNameColumn(final PageBase page, final String headerKey) { IColumn column; - column = new LinkColumn(page.createStringResource(headerKey), CertWorkItemDto.F_REVIEWER_NAME) { + column = new AbstractColumn(page.createStringResource(headerKey)) { + private static final long serialVersionUID = 1L; @Override - public void onClick(AjaxRequestTarget target, IModel rowModel) { + public void populateItem(Item> cellItem, String componentId, + final IModel rowModel) { CertCaseOrWorkItemDto dto = rowModel.getObject(); + RepeatingView reviewersPanel = new RepeatingView(componentId); if (dto instanceof CertWorkItemDto) { - dispatchToObjectDetailsPage(((CertWorkItemDto) dto).getReviewerRef(), page, false); + List reviewersList = ((CertWorkItemDto) dto).getReviewerRefList(); + if (CollectionUtils.isNotEmpty(reviewersList)){ + for (ObjectReferenceType reviewer : reviewersList){ + reviewersPanel.add(new LinkPanel(reviewersPanel.newChildId(), + Model.of(WebComponentUtil.getDisplayNameOrName(reviewer))) { + private static final long serialVersionUID = 1L; + + @Override + public void onClick(AjaxRequestTarget target) { + dispatchToObjectDetailsPage(reviewer, page, false); + } + }); + } + } } + cellItem.add(reviewersPanel); } + }; return column; } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/dto/CertWorkItemDto.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/dto/CertWorkItemDto.java index 210d251754c..c5bfb1e1ba0 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/dto/CertWorkItemDto.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/certification/dto/CertWorkItemDto.java @@ -27,6 +27,9 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType; import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; +import java.util.List; + /** * DTO representing a particular workItem. * @@ -42,15 +45,15 @@ public class CertWorkItemDto extends CertCaseOrWorkItemDto { public static final String F_REVIEWER_NAME = "reviewerName"; @NotNull private final AccessCertificationWorkItemType workItem; - private ObjectReferenceType reviewerRef; - private String reviewerName; + private List reviewerRefList; + private List reviewerNameList = new ArrayList<>(); CertWorkItemDto(@NotNull AccessCertificationWorkItemType workItem, @NotNull PageBase page) { //noinspection ConstantConditions super(CertCampaignTypeUtil.getCase(workItem), page); this.workItem = workItem; - this.reviewerRef = workItem.getOriginalAssigneeRef(); - this.reviewerName = computeReviewerName(); + this.reviewerRefList = workItem.getAssigneeRef(); + computeReviewerNameList(); } public String getComment() { @@ -82,26 +85,28 @@ public String getEscalationLevelInfo() { return WfContextUtil.getEscalationLevelInfo(workItem); } - public String computeReviewerName(){ - if (reviewerRef == null){ - return null; + public void computeReviewerNameList(){ + if (reviewerRefList == null){ + return; } - return WebComponentUtil.getDisplayNameOrName(reviewerRef); + reviewerRefList.forEach(reviewerRef -> { + reviewerNameList.add(WebComponentUtil.getDisplayNameOrName(reviewerRef)); + }); } - public String getReviewerName() { - return reviewerName; + public List getReviewerNameList() { + return reviewerNameList; } - public void setReviewerName(String reviewerName) { - this.reviewerName = reviewerName; + public void setReviewerName(List reviewerNameList) { + this.reviewerNameList = reviewerNameList; } - public ObjectReferenceType getReviewerRef() { - return reviewerRef; + public List getReviewerRefList() { + return reviewerRefList; } - public void setReviewerRef(ObjectReferenceType reviewerRef) { - this.reviewerRef = reviewerRef; + public void setReviewerRefList(List reviewerRefList) { + this.reviewerRefList = reviewerRefList; } }