Skip to content

Commit

Permalink
cases table work + work item details panel
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed May 15, 2019
1 parent 9764155 commit 41c3381
Show file tree
Hide file tree
Showing 8 changed files with 181 additions and 109 deletions.
Expand Up @@ -107,12 +107,7 @@
import com.evolveum.midpoint.web.page.admin.PageAdmin;
import com.evolveum.midpoint.web.page.admin.PageAdminFocus;
import com.evolveum.midpoint.web.page.admin.PageAdminObjectList;
import com.evolveum.midpoint.web.page.admin.cases.PageCase;
import com.evolveum.midpoint.web.page.admin.cases.PageCaseWorkItem;
import com.evolveum.midpoint.web.page.admin.cases.PageCaseWorkItemsAll;
import com.evolveum.midpoint.web.page.admin.cases.PageCaseWorkItemsAllocatedToMe;
import com.evolveum.midpoint.web.page.admin.cases.PageCasesAll;
import com.evolveum.midpoint.web.page.admin.cases.PageCasesAllocatedToMe;
import com.evolveum.midpoint.web.page.admin.cases.*;
import com.evolveum.midpoint.web.page.admin.certification.PageCertCampaigns;
import com.evolveum.midpoint.web.page.admin.certification.PageCertDecisions;
import com.evolveum.midpoint.web.page.admin.certification.PageCertDefinition;
Expand Down Expand Up @@ -1833,13 +1828,13 @@ public String getBubbleLabel() {
}
};

addMenuItem(item, "PageAdmin.menu.top.cases.listAll", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.cases.approvalCases", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.cases.myApprovalCases", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.cases.myRequests", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.cases.requestsAboutMe", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.cases.manualProvisionCases", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.cases.myManualProvisionCases", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.cases.listAll", PageCases.class);
// addMenuItem(item, "PageAdmin.menu.top.cases.approvalCases", PageCasesAll.class);
// addMenuItem(item, "PageAdmin.menu.top.cases.myApprovalCases", PageCasesAll.class);
// addMenuItem(item, "PageAdmin.menu.top.cases.myRequests", PageCasesAll.class);
// addMenuItem(item, "PageAdmin.menu.top.cases.requestsAboutMe", PageCasesAll.class);
// addMenuItem(item, "PageAdmin.menu.top.cases.manualProvisionCases", PageCasesAll.class);
// addMenuItem(item, "PageAdmin.menu.top.cases.myManualProvisionCases", PageCasesAll.class);
addMenuItem(item, "PageAdmin.menu.top.caseWorkItems.listAll", PageCaseWorkItemsAll.class);
addMenuItem(item, "PageAdmin.menu.top.caseWorkItems.list", PageCaseWorkItemsAllocatedToMe.class);

Expand Down
Expand Up @@ -16,27 +16,35 @@
package com.evolveum.midpoint.web.page.admin.cases;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.component.DisplayNamePanel;
import com.evolveum.midpoint.gui.api.prism.PrismContainerWrapper;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.MultivalueContainerDetailsPanel;
import com.evolveum.midpoint.gui.impl.component.MultivalueContainerListPanel;
import com.evolveum.midpoint.gui.impl.component.MultivalueContainerListPanelWithDetailsPanel;
import com.evolveum.midpoint.gui.impl.factory.ItemRealValueModel;
import com.evolveum.midpoint.gui.impl.prism.PrismContainerValueWrapper;
import com.evolveum.midpoint.gui.impl.session.ObjectTabStorage;
import com.evolveum.midpoint.model.api.AssignmentCandidatesSpecification;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.prism.PrismContainerDefinition;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.util.CaseWorkItemUtil;
import com.evolveum.midpoint.schema.util.WfContextUtil;
import com.evolveum.midpoint.web.component.data.column.LinkColumn;
import com.evolveum.midpoint.web.component.prism.*;
import com.evolveum.midpoint.web.component.search.SearchItemDefinition;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.CaseType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.CaseWorkItemType;
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.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.export.AbstractExportableColumn;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
Expand Down Expand Up @@ -65,8 +73,8 @@ protected void onInitialize() {
private void initLayout() {
setOutputMarkupId(true);

MultivalueContainerListPanel<CaseWorkItemType, AssignmentObjectRelation> multivalueContainerListPanel =
new MultivalueContainerListPanel<CaseWorkItemType, AssignmentObjectRelation>(ID_WORKITEMS_TABLE,
MultivalueContainerListPanelWithDetailsPanel<CaseWorkItemType, AssignmentObjectRelation> multivalueContainerListPanel =
new MultivalueContainerListPanelWithDetailsPanel<CaseWorkItemType, AssignmentObjectRelation>(ID_WORKITEMS_TABLE,
getModel(), getTableId(),
getWorkitemsTabStorage()) {

Expand Down Expand Up @@ -98,12 +106,6 @@ protected List<IColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>> cr
return getWorkItemColumns();
}

@Override
protected void itemPerformedForDefaultAction(AjaxRequestTarget target, IModel<PrismContainerValueWrapper<CaseWorkItemType>> rowModel,
List<PrismContainerValueWrapper<CaseWorkItemType>> listItems) {

}

@Override
protected WebMarkupContainer getSearchPanel(String contentAreaId) {
return new WebMarkupContainer(contentAreaId);
Expand All @@ -121,6 +123,12 @@ protected List<SearchItemDefinition> initSearchableItems(PrismContainerDefinitio
return defs;
}

@Override
protected MultivalueContainerDetailsPanel<CaseWorkItemType> getMultivalueContainerDetailsPanel(
ListItem<PrismContainerValueWrapper<CaseWorkItemType>> item) {
return createWorkItemDetailsPanel(item);
}

};
multivalueContainerListPanel.setOutputMarkupId(true);
add(multivalueContainerListPanel);
Expand Down Expand Up @@ -166,11 +174,14 @@ public boolean isEnabled(IModel<PrismContainerValueWrapper<CaseWorkItemType>> ro

@Override
public void onClick(AjaxRequestTarget target, IModel<PrismContainerValueWrapper<CaseWorkItemType>> rowModel) {
getCaseWorkItemsTablePanel().itemDetailsPerformed(target, rowModel);

}
});

columns.add(new AbstractExportableColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>(
createStringResource("WorkItemsPanel.stage")) {
private static final long serialVersionUID = 1L;

@Override
public void populateItem(Item<ICellPopulator<PrismContainerValueWrapper<CaseWorkItemType>>> cellItem,
Expand All @@ -187,6 +198,7 @@ public IModel<String> getDataModel(IModel<PrismContainerValueWrapper<CaseWorkIte
});
columns.add(new AbstractExportableColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>(
createStringResource("WorkItemsPanel.actors")) {
private static final long serialVersionUID = 1L;

@Override
public void populateItem(Item<ICellPopulator<PrismContainerValueWrapper<CaseWorkItemType>>> cellItem,
Expand All @@ -205,6 +217,7 @@ public IModel<String> getDataModel(IModel<PrismContainerValueWrapper<CaseWorkIte
});
columns.add(new AbstractExportableColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>(
createStringResource("WorkItemsPanel.created")) {
private static final long serialVersionUID = 1L;

@Override
public void populateItem(Item<ICellPopulator<PrismContainerValueWrapper<CaseWorkItemType>>> cellItem,
Expand All @@ -220,6 +233,7 @@ public IModel<String> getDataModel(IModel<PrismContainerValueWrapper<CaseWorkIte
});
columns.add(new AbstractExportableColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>(
createStringResource("WorkItemsPanel.deadline")) {
private static final long serialVersionUID = 1L;

@Override
public void populateItem(Item<ICellPopulator<PrismContainerValueWrapper<CaseWorkItemType>>> cellItem,
Expand All @@ -236,6 +250,7 @@ public IModel<String> getDataModel(IModel<PrismContainerValueWrapper<CaseWorkIte
});
columns.add(new AbstractExportableColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>(
createStringResource("WorkItemsPanel.escalationLevel")) {
private static final long serialVersionUID = 1L;

@Override
public void populateItem(Item<ICellPopulator<PrismContainerValueWrapper<CaseWorkItemType>>> cellItem,
Expand All @@ -251,6 +266,41 @@ public IModel<String> getDataModel(IModel<PrismContainerValueWrapper<CaseWorkIte
return columns;
}

protected MultivalueContainerListPanelWithDetailsPanel<CaseWorkItemType, AssignmentCandidatesSpecification> getCaseWorkItemsTablePanel() {
return ((MultivalueContainerListPanelWithDetailsPanel<CaseWorkItemType, AssignmentCandidatesSpecification>)get(ID_WORKITEMS_TABLE));
}

private MultivalueContainerDetailsPanel<CaseWorkItemType> createWorkItemDetailsPanel(
ListItem<PrismContainerValueWrapper<CaseWorkItemType>> item) {
MultivalueContainerDetailsPanel<CaseWorkItemType> detailsPanel = new MultivalueContainerDetailsPanel<CaseWorkItemType>(MultivalueContainerListPanelWithDetailsPanel.ID_ITEM_DETAILS, item.getModel()) {

private static final long serialVersionUID = 1L;

@Override
protected DisplayNamePanel<CaseWorkItemType> createDisplayNamePanel(String displayNamePanelId) {
ItemRealValueModel<CaseWorkItemType> displayNameModel =
new ItemRealValueModel<CaseWorkItemType>(item.getModel());
return new DisplayNamePanel<CaseWorkItemType>(displayNamePanelId, displayNameModel) {
private static final long serialVersionUID = 1L;

@Override
protected IModel<String> getDescriptionLabelModel() {
//todo display parent case object description ?
CaseType caseType = CaseWorkItemUtil.getCase(displayNameModel.getObject());
return Model.of(caseType != null && caseType.getDescription() != null ? caseType.getDescription() : "");
}
};
}

@Override
protected void addBasicContainerValuePanel(String idPanel) {
add(new WebMarkupContainer(idPanel));
}

};
return detailsPanel;
}

protected abstract ObjectQuery createQuery();

protected abstract UserProfileStorage.TableId getTableId();
Expand Down
Expand Up @@ -130,7 +130,7 @@ private PrismObject<CaseType> loadCase() {
} else {
getSession().error(getString("pageAdminFocus.message.cantNewFocus"));
}
throw new RestartResponseException(PageCasesAll.class);
throw new RestartResponseException(PageCases.class);
}
//
// ObjectWrapper<CaseType> wrapper;
Expand Down

This file was deleted.

0 comments on commit 41c3381

Please sign in to comment.