Skip to content

Commit

Permalink
adding column for actors ok case children tab (MID-5685)
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Sep 16, 2019
1 parent 1187bed commit 4233d91
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 21 deletions.
Expand Up @@ -686,24 +686,7 @@ public void populateItem(Item<ICellPopulator<SelectableBean<CaseType>>> item, St
item.add(new Label(componentId, new IModel<String>() {
@Override
public String getObject() {
String actors = null;
SelectableBean<CaseType> caseModel = rowModel.getObject();
if (caseModel != null) {
CaseType caseIntance = caseModel.getValue();
if (caseIntance != null) {
List<CaseWorkItemType> caseWorkItemTypes = caseIntance.getWorkItem();
List<String> actorsList = new ArrayList<String>();
for (CaseWorkItemType caseWorkItem : caseWorkItemTypes) {
List<ObjectReferenceType> assignees = caseWorkItem.getAssigneeRef();
for (ObjectReferenceType actor : assignees) {
actorsList.add(WebComponentUtil.getEffectiveName(actor, AbstractRoleType.F_DISPLAY_NAME, pageBase,
pageBase.getClass().getSimpleName() + "." + "loadCaseActorsNames"));
}
}
actors = String.join(", ", actorsList);
}
}
return actors;
return getActorsForCase(rowModel, pageBase);
}
}));
}
Expand Down Expand Up @@ -814,4 +797,25 @@ public IModel<String> getDataModel(IModel<SelectableBean<CaseType>> rowModel) {
public static <C extends Containerable> C unwrapRowModel(IModel<PrismContainerValueWrapper<C>> rowModel){
return rowModel.getObject().getRealValue();
}

public static String getActorsForCase(IModel<SelectableBean<CaseType>> rowModel, PageBase pageBase) {
String actors = null;
SelectableBean<CaseType> caseModel = rowModel.getObject();
if (caseModel != null) {
CaseType caseIntance = caseModel.getValue();
if (caseIntance != null) {
List<CaseWorkItemType> caseWorkItemTypes = caseIntance.getWorkItem();
List<String> actorsList = new ArrayList<String>();
for (CaseWorkItemType caseWorkItem : caseWorkItemTypes) {
List<ObjectReferenceType> assignees = caseWorkItem.getAssigneeRef();
for (ObjectReferenceType actor : assignees) {
actorsList.add(WebComponentUtil.getEffectiveName(actor, AbstractRoleType.F_DISPLAY_NAME, pageBase,
pageBase.getClass().getSimpleName() + "." + "loadCaseActorsNames"));
}
}
actors = String.join(", ", actorsList);
}
}
return actors;
}
}
Expand Up @@ -11,10 +11,12 @@
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.prism.PrismObjectWrapper;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.PrismConstants;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.prism.query.builder.S_FilterEntryOrEmpty;
import com.evolveum.midpoint.web.component.data.column.ColumnUtils;
import com.evolveum.midpoint.web.component.form.Form;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.objectdetails.AbstractObjectTabPanel;
Expand All @@ -24,6 +26,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
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.extensions.markup.html.repeater.data.table.export.AbstractExportableColumn;
Expand Down Expand Up @@ -80,8 +83,26 @@ protected List<IColumn<SelectableBean<CaseType>, String>> createColumns() {

IColumn column = new PropertyColumn(createStringResource("pageCases.table.description"), "value.description");
columns.add(column);

column = new PropertyColumn<SelectableBean<CaseType>, String>(createStringResource("pageCases.table.state"), CaseType.F_STATE.getLocalPart(), "value.state");

column = new AbstractColumn<SelectableBean<CaseType>, String>(createStringResource("pageCases.table.actors")){
@Override
public void populateItem(Item<ICellPopulator<SelectableBean<CaseType>>> item, String componentId, IModel<SelectableBean<CaseType>> rowModel) {
item.add(new Label(componentId, new IModel<String>() {
@Override
public String getObject() {
return ColumnUtils.getActorsForCase(rowModel, getPageBase());
}
}));
}
};
columns.add(column);

column = new PropertyColumn<SelectableBean<CaseType>, String>(createStringResource("pageCases.table.state"), CaseType.F_STATE.getLocalPart(), "value.state"){
@Override
public String getCssClass() {
return "col-sm-2 col-md-1";
}
};
columns.add(column);

column = new AbstractExportableColumn<SelectableBean<CaseType>, String>(
Expand All @@ -101,7 +122,10 @@ public IModel<String> getDataModel(IModel<SelectableBean<CaseType>> rowModel) {
Integer.toString(rowModel.getObject().getValue().getWorkItem().size()) : "");
}


@Override
public String getCssClass() {
return "col-md-2 col-lg-1";
}
};
columns.add(column);
return columns;
Expand Down

0 comments on commit 4233d91

Please sign in to comment.