Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Sep 8, 2021
2 parents 80e45dd + 298180e commit 55b33d8
Show file tree
Hide file tree
Showing 24 changed files with 432 additions and 182 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -578,4 +578,9 @@ public PrismObject<O> getPrismObject() {
protected ProgressPanel getProgressPanel() {
return (ProgressPanel) get(ID_PROGRESS_PANEL);
}

@Override
protected void createBreadcrumb() {
createInstanceBreadcrumb();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.AssignmentHolderDetailsModel;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.web.application.*;
import com.evolveum.midpoint.web.component.objectdetails.AbstractObjectTabPanel;
import com.evolveum.midpoint.web.model.PrismContainerWrapperModel;
import com.evolveum.midpoint.web.page.admin.cases.CaseWorkItemsTableWithDetailsPanel;
Expand All @@ -28,6 +26,7 @@
@PanelType(name = "caseWorkItems")
@PanelInstance(identifier = "caseWorkItems",
display = @PanelDisplay(label = "PageCase.workitemsTab"))
@Counter(provider = CaseWorkitemsCounter.class)
public class CaseWorkitemsPanel extends AbstractObjectMainPanel<CaseType, AssignmentHolderDetailsModel<CaseType>> {
private static final long serialVersionUID = 1L;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
* Created by honchar
*/
@PanelType(name = "childCases")
@PanelInstance(identifier = "childCases", applicableFor = CaseType.class,
@PanelInstance(identifier = "childCases",
display = @PanelDisplay(label = "PageCase.childCasesTab"))
@Counter(provider = ChildrenCasesCounter.class)
public class ChildCasesPanel extends AbstractObjectMainPanel<CaseType, AssignmentHolderDetailsModel<CaseType>> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ protected void initLayout() {
@Override
protected ObjectFilter getCasesFilter() {
String oid = getObjectWrapper().getOid();
return QueryUtils.filterForCasesOverUser(getPageBase().getPrismContext().queryFor(CaseType.class), oid)
return QueryUtils.filterForCasesOverObject(getPageBase().getPrismContext().queryFor(CaseType.class), oid)
.desc(ItemPath.create(CaseType.F_METADATA, MetadataType.F_CREATE_TIMESTAMP))
.buildFilter();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Copyright (c) 2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.web.application;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.page.admin.cases.CaseDetailsModels;
import com.evolveum.midpoint.xml.ns._public.common.common_3.CaseType;

public class CaseWorkitemsCounter extends SimpleCounter<CaseDetailsModels, CaseType> {

public CaseWorkitemsCounter() {
super();
}

@Override
public int count(CaseDetailsModels objectDetailsModels, PageBase pageBase) {
CaseType parentCase = objectDetailsModels.getObjectType();
return parentCase.getWorkItem() == null ? 0 : parentCase.getWorkItem().size();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public int count(FocusDetailsModels<F> objectDetailsModels, PageBase pageBase) {
return 0;
}

ObjectQuery casesQuery = QueryUtils.filterForCasesOverUser(PrismContext.get().queryFor(CaseType.class), oid)
ObjectQuery casesQuery = QueryUtils.filterForCasesOverObject(PrismContext.get().queryFor(CaseType.class), oid)
.desc(ItemPath.create(CaseType.F_METADATA, MetadataType.F_CREATE_TIMESTAMP))
.build();
return WebModelServiceUtils.countObjects(CaseType.class, casesQuery, pageBase);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
import java.lang.reflect.InvocationTargetException;
import java.util.List;

import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.util.QNameUtil;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.apache.wicket.ajax.AjaxRequestTarget;
Expand Down Expand Up @@ -40,7 +37,6 @@
import com.evolveum.midpoint.util.exception.SystemException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.form.MidpointForm;
import com.evolveum.midpoint.web.component.prism.ValueStatus;
import com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails;
import com.evolveum.midpoint.wf.util.QueryUtils;
Expand Down Expand Up @@ -273,7 +269,7 @@ private int countFocusObjectTasks(PageBase parentPage) {
} else {
oid = getObjectWrapper().getOid();
}
ObjectQuery casesQuery = QueryUtils.filterForCasesOverUser(parentPage.getPrismContext().queryFor(CaseType.class), oid)
ObjectQuery casesQuery = QueryUtils.filterForCasesOverObject(parentPage.getPrismContext().queryFor(CaseType.class), oid)
.desc(ItemPath.create(CaseType.F_METADATA, MetadataType.F_CREATE_TIMESTAMP))
.build();
return WebModelServiceUtils.countObjects(CaseType.class, casesQuery, parentPage);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@
*/
package com.evolveum.midpoint.web.component.objectdetails;

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.prism.ItemStatus;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.page.admin.server.CasesTablePanel;

import com.evolveum.midpoint.web.session.UserProfileStorage;
Expand Down Expand Up @@ -56,7 +51,7 @@ private void initLayout() {
@Override
protected ObjectFilter getCasesFilter() {
String oid = getObjectWrapper().getOid();
return QueryUtils.filterForCasesOverUser(getPageBase().getPrismContext().queryFor(CaseType.class), oid)
return QueryUtils.filterForCasesOverObject(getPageBase().getPrismContext().queryFor(CaseType.class), oid)
.desc(ItemPath.create(CaseType.F_METADATA, MetadataType.F_CREATE_TIMESTAMP))
.buildFilter();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public class TestUtil {
* Obviously, don't create objects with this OID.
* This is not random so it can be used also in XMLs, e.g. for refs to nonexistent objects.
*/
public static final String NON_EXISTENT_OID = "8dbaca35-6b64-4d1b-a476-6572726f7221";
public static final String NON_EXISTENT_OID = "4e4f4e5f-4558-4953-5445-4e545f4f4944";

public static boolean checkResults = true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.xml.namespace.QName;

import org.springframework.test.annotation.DirtiesContext;
Expand All @@ -20,6 +21,7 @@

import com.evolveum.midpoint.common.refinery.RefinedObjectClassDefinition;
import com.evolveum.midpoint.model.api.context.ModelContext;
import com.evolveum.midpoint.model.test.SearchAssertion;
import com.evolveum.midpoint.prism.*;
import com.evolveum.midpoint.prism.delta.ContainerDelta;
import com.evolveum.midpoint.prism.delta.ItemDelta;
Expand All @@ -33,6 +35,7 @@
import com.evolveum.midpoint.prism.util.PrismAsserts;
import com.evolveum.midpoint.prism.util.PrismTestUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SchemaService;
import com.evolveum.midpoint.schema.SearchResultList;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
Expand Down Expand Up @@ -85,6 +88,21 @@ public void test201AutzJackSuperuserRole() throws Exception {

then();
assertSuperuserAccess(NUMBER_OF_ALL_USERS);

Collection<SelectorOptions<GetOperationOptions>> withCases = SchemaService.get().getOperationOptionsBuilder().
item(AccessCertificationCampaignType.F_CASE).retrieve().build();
assertSearch(AccessCertificationCampaignType.class, null, withCases, new SearchAssertion<>() {

public void assertObjects(String message, List<PrismObject<AccessCertificationCampaignType>> objects) {
for (PrismObject<AccessCertificationCampaignType> obj : objects) {
assertFalse(obj.asObjectable().getCase().isEmpty());
}
}

public void assertCount(int count) {
}

});
assertGlobalStateUntouched();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,9 @@ public static S_AtomicFilterExit filterForMyRequests(S_FilterEntryOrEmpty q, Str
.ref(SystemObjectsType.ARCHETYPE_OPERATION_REQUEST.value());
}

public static S_AtomicFilterExit filterForCasesOverUser(S_FilterEntryOrEmpty q, String userOid){
public static S_AtomicFilterExit filterForCasesOverObject(S_FilterEntryOrEmpty q, String objectOid){
return q
.item(CaseType.F_OBJECT_REF).ref(userOid)
.item(CaseType.F_OBJECT_REF).ref(objectOid)
.and()
.item(CaseType.F_ARCHETYPE_REF)
.ref(SystemObjectsType.ARCHETYPE_OPERATION_REQUEST.value())
Expand Down

0 comments on commit 55b33d8

Please sign in to comment.