Skip to content

Commit

Permalink
page parameter for object list view
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Dec 21, 2018
1 parent b5d2988 commit 87aa7da
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 23 deletions.
Expand Up @@ -226,7 +226,7 @@ public abstract class PageBase extends WebPage implements ModelServiceLocator {

private static final int DEFAULT_BREADCRUMB_STEP = 2;
public static final String PARAMETER_OBJECT_COLLECTION_TYPE_OID = "collectionOid";
public static final String PARAMETER_OBJECT_ARCHETYPE_REF = "archetypeOid";
public static final String PARAMETER_OBJECT_COLLECTION_NAME = "collectionName";

private static final String CLASS_DEFAULT_SKIN = "skin-blue-light";

Expand Down Expand Up @@ -2122,7 +2122,7 @@ private void addCollectionsMenuItems(List<MenuItem> menu, QName type, Class<? ex
DisplayType viewDisplayType = objectView.getDisplay();

PageParameters pageParameters = new PageParameters();
pageParameters.add(PageUsersView.PARAMETER_OBJECT_ARCHETYPE_REF, objectType.getOid());
pageParameters.add(PageUsersView.PARAMETER_OBJECT_COLLECTION_NAME, objectView.getViewName());

MenuItem userViewMenu = new MenuItem(viewDisplayType != null && PolyStringUtils.isNotEmpty(viewDisplayType.getLabel())
? createStringResource(viewDisplayType.getLabel())
Expand Down
Expand Up @@ -17,26 +17,19 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.component.MainObjectListPanel;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.prism.query.ObjectOrdering;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.page.admin.roles.PageRoles;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.ColGroup;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.markup.html.form.Form;
Expand Down Expand Up @@ -152,23 +145,13 @@ protected void newObjectActionPerformed(AjaxRequestTarget target){}

protected ObjectFilter getArchetypeViewFilter(){
PageParameters parameters = getPageParameters();
if (parameters == null || parameters.get(PARAMETER_OBJECT_ARCHETYPE_REF) == null || parameters.get(PARAMETER_OBJECT_ARCHETYPE_REF).isEmpty()) {
if (parameters == null || parameters.get(PARAMETER_OBJECT_COLLECTION_NAME) == null || parameters.get(PARAMETER_OBJECT_COLLECTION_NAME).isEmpty()) {
return null;
}

String oid = parameters.get(PARAMETER_OBJECT_ARCHETYPE_REF).toString();
List<CompiledObjectCollectionView> objectViews = getCompiledUserProfile().findAllApplicableObjectCollectionViews(getType());
if (objectViews == null) {
return null;
}
CompiledObjectCollectionView referredObjectView = null;
for (CompiledObjectCollectionView view : objectViews){
if (view.getCollection() != null && view.getCollection().getCollectionRef() != null && oid.equals(view.getCollection().getCollectionRef().getOid())){
referredObjectView = view;
break;
}
}
return referredObjectView.getFilter();
String collectionName = parameters.get(PARAMETER_OBJECT_COLLECTION_NAME).toString();
CompiledObjectCollectionView view = getCompiledUserProfile().findObjectViewByViewName(getType(), collectionName);
return view != null ? view.getFilter() : null;
}

protected ObjectQuery addCustomFilterToContentQuery(ObjectQuery query){
Expand Down
Expand Up @@ -22,6 +22,7 @@

import javax.xml.namespace.QName;

import org.apache.commons.lang.StringUtils;
import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.schema.constants.ObjectTypes;
Expand Down Expand Up @@ -176,6 +177,22 @@ public <O extends ObjectType> List<CompiledObjectCollectionView> findAllApplicab
return findAllApplicableObjectCollectionViews(ObjectTypes.getObjectType(compileTimeClass).getTypeQName());
}

public <O extends ObjectType> CompiledObjectCollectionView findObjectViewByViewName(Class<O> compileTimeClass, String viewName){
if (compileTimeClass == null || StringUtils.isEmpty(viewName)){
return null;
}
List<CompiledObjectCollectionView> objectViews = findAllApplicableObjectCollectionViews(compileTimeClass);
if (objectViews == null) {
return null;
}
for (CompiledObjectCollectionView view : objectViews){
if (viewName.equals(view.getViewName())){
return view;
}
}
return null;
}

/**
* Default list view setting should never be needed publicly. Always check setting for specific
* object type (and archetype).
Expand Down

0 comments on commit 87aa7da

Please sign in to comment.