Skip to content

Commit

Permalink
one more attempt for assignments query fix (excluding deputy relation…
Browse files Browse the repository at this point in the history
… assignments)
  • Loading branch information
KaterynaHonchar committed Sep 6, 2018
1 parent a2e047d commit 9d1a75e
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 28 deletions.
Expand Up @@ -22,6 +22,8 @@

import com.evolveum.midpoint.gui.api.component.AssignmentPopup;
import com.evolveum.midpoint.prism.*;
import com.evolveum.midpoint.prism.query.NotFilter;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
Expand Down Expand Up @@ -258,24 +260,18 @@ protected int getItemsPerPage() {
return (int) getParentPage().getItemsPerPage(UserProfileStorage.TableId.ASSIGNMENTS_TAB_TABLE);
}

protected ObjectQuery createObjectQuery() {
return QueryBuilder.queryFor(AssignmentType.class, getParentPage().getPrismContext())
.block()
.not()
.item(new ItemPath(AssignmentType.F_CONSTRUCTION, ConstructionType.F_RESOURCE_REF))
.isNull()
.endBlock()
.or()
.block()
.not()
.item(new ItemPath(AssignmentType.F_TARGET_REF))
.ref(SchemaConstants.ORG_DEPUTY)
.endBlock()
.and()
.not()
.exists(AssignmentType.F_POLICY_RULE)
.build();
}
protected ObjectQuery createObjectQuery() {
ObjectFilter deputyFilter = QueryBuilder.queryFor(AssignmentType.class, getParentPage().getPrismContext())
.item(new ItemPath(AssignmentType.F_TARGET_REF))
.ref(SchemaConstants.ORG_DEPUTY)
.buildFilter();
ObjectQuery query = QueryBuilder.queryFor(AssignmentType.class, getParentPage().getPrismContext())
.not()
.exists(AssignmentType.F_POLICY_RULE)
.build();
query.addFilter(NotFilter.createNot(deputyFilter));
return query;
}

private IModel<String> getTenantLabelModel(ContainerValueWrapper<AssignmentType> assignmentContainer){
if (assignmentContainer == null || assignmentContainer.getContainerValue() == null){
Expand Down
Expand Up @@ -124,17 +124,9 @@ public void populateItem(Item<ICellPopulator<ContainerValueWrapper<AssignmentTyp

@Override
protected ObjectQuery createObjectQuery() {
ObjectQuery query = super.createObjectQuery();
ObjectFilter filter = query.getFilter();
ObjectQuery entitlementsQuery = QueryBuilder.queryFor(AssignmentType.class, getParentPage().getPrismContext())
return QueryBuilder.queryFor(AssignmentType.class, getParentPage().getPrismContext())
.exists(AssignmentType.F_CONSTRUCTION)
.build();
if (filter != null){
query.setFilter(AndFilter.createAnd(filter, entitlementsQuery.getFilter()));
} else {
query.setFilter(entitlementsQuery.getFilter());
}
return query;
}

@Override
Expand Down
Expand Up @@ -39,7 +39,6 @@ public InducementsPanel(String id, IModel<ContainerWrapper<AssignmentType>> indu
@Override
protected void initCustomPaging() {
getInducementsTabStorage().setPaging(ObjectPaging.createPaging(0, getItemsPerPage()));

}

@Override
Expand Down

0 comments on commit 9d1a75e

Please sign in to comment.