Skip to content

Commit

Permalink
manual case work item detail (mid-6094)
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Mar 24, 2020
1 parent 437d417 commit 19a60fc
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 14 deletions.
Expand Up @@ -4182,7 +4182,8 @@ public static SceneDto createSceneDto(CaseType caseObject, PageBase pageBase, St
OperationResult result = new OperationResult(operation);
Task task = pageBase.createSimpleTask(operation);
try {
Scene deltasScene = SceneUtil.visualizeObjectTreeDeltas(caseObject.getApprovalContext().getDeltasToApprove(), "pageWorkItem.delta",
Scene deltasScene = SceneUtil.visualizeObjectTreeDeltas(caseObject.getApprovalContext().getDeltasToApprove(),
CaseTypeUtil.isClosed(caseObject) ? "pageWorkItem.changesApplied" : "pageWorkItem.delta",
pageBase.getPrismContext(), pageBase.getModelInteractionService(), objectRef, task, result);
return new SceneDto(deltasScene);
} catch (SchemaException | ExpressionEvaluationException ex){
Expand All @@ -4201,7 +4202,7 @@ public static SceneDto createSceneDtoForManualCase(CaseType caseObject, PageBase
Task task = pageBase.createSimpleTask(operation);
try {
Scene deltasScene = SceneUtil.visualizeObjectDeltaType(caseObject.getManualProvisioningContext().getPendingOperation().getDelta(),
"pageWorkItem.delta", pageBase.getPrismContext(), pageBase.getModelInteractionService(), objectRef, task, result);
CaseTypeUtil.isClosed(caseObject) ? "pageWorkItem.changesApplied" : "pageWorkItem.changesToBeApplied", pageBase.getPrismContext(), pageBase.getModelInteractionService(), objectRef, task, result);
return new SceneDto(deltasScene);
} catch (SchemaException | ExpressionEvaluationException ex){
LOGGER.error("Unable to create delta visualization for case {}: {}", caseObject, ex.getLocalizedMessage(), ex);
Expand Down
Expand Up @@ -34,6 +34,7 @@
import com.evolveum.midpoint.web.component.prism.show.ScenePanel;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.cases.ManualCaseTabPanel;
import com.evolveum.midpoint.web.page.admin.cases.PageCaseWorkItem;
import com.evolveum.midpoint.web.page.admin.configuration.component.EmptyOnBlurAjaxFormUpdatingBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
Expand Down Expand Up @@ -105,7 +106,12 @@ private void initModels(){
@Override
protected SceneDto load() {
PageBase pageBase = WorkItemDetailsPanel.this.getPageBase();
return WebComponentUtil.createSceneDto(WorkItemDetailsPanel.this.getModelObject(), pageBase, OPERATION_PREPARE_DELTA_VISUALIZATION);
CaseType parentCase = CaseTypeUtil.getCase(WorkItemDetailsPanel.this.getModelObject());
if (CaseTypeUtil.isManualProvisioningCase(parentCase)){
return WebComponentUtil.createSceneDtoForManualCase(parentCase, pageBase, OPERATION_PREPARE_DELTA_VISUALIZATION);
} else {
return WebComponentUtil.createSceneDto(WorkItemDetailsPanel.this.getModelObject(), pageBase, OPERATION_PREPARE_DELTA_VISUALIZATION);
}
}
};
evidenceFile = WorkItemTypeUtil.getEvidence(getModelObject());
Expand Down Expand Up @@ -180,10 +186,9 @@ private void initLayout(){
add(reasonPanel);


if (CaseTypeUtil.isApprovalCase(parentCase)){
if (CaseTypeUtil.isApprovalCase(parentCase) || CaseTypeUtil.isManualProvisioningCase(parentCase)){
ScenePanel scenePanel = new ScenePanel(ID_DELTAS_TO_APPROVE, sceneModel);
scenePanel.setOutputMarkupId(true);
scenePanel.add(new VisibleBehaviour(() -> CaseTypeUtil.isApprovalCase(parentCase)));
add(scenePanel);
} else {
add(new WebMarkupContainer(ID_DELTAS_TO_APPROVE));
Expand Down
Expand Up @@ -70,15 +70,7 @@ public static boolean isManualProvisioningCase(CaseType aCase){
if (aCase == null || CollectionUtils.isEmpty(aCase.getArchetypeRef())){
return false;
}
for (ObjectReferenceType ort : aCase.getArchetypeRef()){
if (ort == null){
continue;
}
if (SystemObjectsType.ARCHETYPE_MANUAL_CASE.value().equals(ort.getOid())){
return true;
}
}
return false;
return aCase != null && ObjectTypeUtil.hasArchetype(aCase, SystemObjectsType.ARCHETYPE_MANUAL_CASE.value());
}

public static boolean isApprovalCase(CaseType aCase) {
Expand Down

0 comments on commit 19a60fc

Please sign in to comment.