Skip to content

Commit

Permalink
MID-5888 Double-approval of work item fix
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Nov 8, 2019
1 parent 90bbfd5 commit eec2729
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 4 deletions.
Expand Up @@ -2580,6 +2580,14 @@ public Breadcrumb getLastBreadcrumb() {
return getBreadcrumbs().get(getBreadcrumbs().size() - 1);
}

public Breadcrumb getPreviousBreadcrumb() {
if (getBreadcrumbs().isEmpty() || getBreadcrumbs().size() < 2) {
return null;
}

return getBreadcrumbs().get(getBreadcrumbs().size() - 2);
}

public void clearBreadcrumbs() {
getBreadcrumbs().clear();
}
Expand Down
Expand Up @@ -80,7 +80,7 @@ public void onClick(AjaxRequestTarget ajaxRequestTarget) {
OperationResult completionResult = new OperationResult(OPERATION_COMPLETE_WORK_ITEM);
WebComponentUtil.workItemApproveActionPerformed(ajaxRequestTarget, getCaseWorkItemModelObject(), getWorkItemOutput(true),
getCustomForm(), getPowerDonor(), true, completionResult, getPageBase());
CaseWorkItemActionsPanel.this.getPageBase().redirectBack();
afterActionFinished(ajaxRequestTarget);

}
};
Expand All @@ -96,7 +96,7 @@ public void onClick(AjaxRequestTarget ajaxRequestTarget) {
OperationResult completionResult = new OperationResult(OPERATION_COMPLETE_WORK_ITEM);
WebComponentUtil.workItemApproveActionPerformed(ajaxRequestTarget, getCaseWorkItemModelObject(), getWorkItemOutput(false),
getCustomForm(), getPowerDonor(), false, completionResult, getPageBase());
CaseWorkItemActionsPanel.this.getPageBase().redirectBack();
afterActionFinished(ajaxRequestTarget);
}
};
workItemRejectButton.setOutputMarkupId(true);
Expand Down Expand Up @@ -195,14 +195,18 @@ private void forwardConfirmedPerformed(AjaxRequestTarget target, UserType delega
LoggingUtils.logUnexpectedException(LOGGER, "Couldn't forward work item", ex);
}
getPageBase().processResult(target, result, false);
getPageBase().redirectBack();
afterActionFinished(target);
}

private void claimWorkItemPerformed(AjaxRequestTarget target){
WebComponentUtil.claimWorkItemActionPerformed(getModelObject(), OPERATION_CLAIM_ITEMS, target, getPageBase());

}

protected void afterActionFinished(AjaxRequestTarget target){
getPageBase().redirectBack();
}

protected Component getCustomForm() {
return null;
}
Expand Down
Expand Up @@ -26,6 +26,8 @@
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb;
import com.evolveum.midpoint.web.component.breadcrumbs.BreadcrumbPageInstance;
import com.evolveum.midpoint.web.component.data.column.ColumnUtils;
import com.evolveum.midpoint.web.component.data.column.LinkColumn;
import com.evolveum.midpoint.web.component.search.SearchItemDefinition;
Expand All @@ -44,6 +46,7 @@
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.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.repeater.Item;
Expand Down Expand Up @@ -119,7 +122,16 @@ protected Component getCustomForm(){
return workItemDetails != null ? workItemDetails.getCustomForm() : null;
}


@Override
protected void afterActionFinished(AjaxRequestTarget target){
Breadcrumb previousBreadcrumb = getPageBase().getPreviousBreadcrumb();
if (previousBreadcrumb instanceof BreadcrumbPageInstance &&
((BreadcrumbPageInstance)previousBreadcrumb).getPage() instanceof PageCaseWorkItem){
getPageBase().redirectBack(3);
} else {
getPageBase().redirectBack();
}
}
};
actionsPanel.setOutputMarkupId(true);
actionsPanel.add(new VisibleBehaviour(() -> {
Expand Down

0 comments on commit eec2729

Please sign in to comment.