Skip to content

Commit

Permalink
role catalog fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Oct 12, 2016
1 parent 4872e7c commit d27fec8
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 20 deletions.
Expand Up @@ -29,9 +29,11 @@
import com.evolveum.midpoint.web.page.self.dto.AssignmentViewType;
import com.evolveum.midpoint.web.session.SessionStorage;
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.behavior.AttributeAppender;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;

import javax.xml.namespace.QName;
Expand Down Expand Up @@ -65,7 +67,6 @@ public AssignmentCatalogPanel(String id, String rootOid, PageBase pageBase) {
super(id);
this.pageBase = pageBase;
this.rootOid = rootOid;
AssignmentViewType.saveViewTypeToSession(pageBase, AssignmentViewType.ROLE_CATALOG_VIEW);
initLayout();
}

Expand All @@ -90,7 +91,7 @@ public void addOrReplaceLayout(){
WebMarkupContainer treePanelContainer = new WebMarkupContainer(ID_TREE_PANEL_CONTAINER);
treePanelContainer.setOutputMarkupId(true);
addOrReplace(treePanelContainer);
if (AssignmentViewType.ROLE_CATALOG_VIEW.equals(AssignmentViewType.getViewTypeFromSession(pageBase))) {
if (AssignmentViewType.ROLE_CATALOG_VIEW.equals(AssignmentViewType.getViewTypeFromSession(pageBase)) && StringUtils.isNotEmpty(rootOid)) {
OrgTreePanel treePanel = new OrgTreePanel(ID_TREE_PANEL, new IModel<String>() {
@Override
public String getObject() {
Expand Down Expand Up @@ -179,6 +180,14 @@ public void detach() {
};
}

public String getRootOid() {
return rootOid;
}

public void setRootOid(String rootOid) {
this.rootOid = rootOid;
}

private String getRoleCatalogOid() {
Task task = getPageBase().createAnonymousTask(OPERATION_LOAD_ROLE_CATALOG_REFERENCE);
OperationResult result = task.getResult();
Expand Down
Expand Up @@ -41,6 +41,7 @@
import com.evolveum.midpoint.web.security.SecurityUtils;
import com.evolveum.midpoint.web.session.SessionStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
Expand Down Expand Up @@ -148,7 +149,13 @@ private void initLayout() {
initCartButton(headerPanel);
initSearchPanel(headerPanel);

MultiButtonTable assignmentsTable = new MultiButtonTable(ID_MULTI_BUTTON_TABLE, itemsPerRow, itemsListModel, pageBase);
Component assignmentsTable;
if ((catalogOidModel == null || StringUtils.isEmpty(catalogOidModel.getObject())) &&
AssignmentViewType.ROLE_CATALOG_VIEW.equals(AssignmentViewType.getViewTypeFromSession(pageBase))) {
assignmentsTable = new Label(ID_MULTI_BUTTON_TABLE, createStringResource("PageAssignmentShoppingKart.roleCatalogIsNotConfigured"));
} else {
assignmentsTable = new MultiButtonTable(ID_MULTI_BUTTON_TABLE, itemsPerRow, itemsListModel, pageBase);
}
assignmentsTable.setOutputMarkupId(true);
add(assignmentsTable);

Expand All @@ -157,28 +164,32 @@ private void initLayout() {
}

protected void initProvider() {
if ((catalogOidModel == null || StringUtils.isEmpty(catalogOidModel.getObject()))
&& AssignmentViewType.ROLE_CATALOG_VIEW.equals(AssignmentViewType.getViewTypeFromSession(pageBase))){
provider = null;
} else {
provider = new ObjectDataProvider<AssignmentEditorDto, AbstractRoleType>(pageBase, AbstractRoleType.class) {
private static final long serialVersionUID = 1L;

provider = new ObjectDataProvider<AssignmentEditorDto, AbstractRoleType>(pageBase, AbstractRoleType.class) {
private static final long serialVersionUID = 1L;

@Override
public AssignmentEditorDto createDataObjectWrapper(PrismObject<AbstractRoleType> obj) {
return AssignmentEditorDto.createDtoFromObject(obj.asObjectable(), UserDtoStatus.MODIFY, pageBase);
}
@Override
public AssignmentEditorDto createDataObjectWrapper(PrismObject<AbstractRoleType> obj) {
return AssignmentEditorDto.createDtoFromObject(obj.asObjectable(), UserDtoStatus.MODIFY, pageBase);
}

@Override
public void setQuery(ObjectQuery query) {
@Override
public void setQuery(ObjectQuery query) {

super.setQuery(query);
}
super.setQuery(query);
}

@Override
public ObjectQuery getQuery() {
@Override
public ObjectQuery getQuery() {

return createContentQuery(null);
}
};
setCurrentPage(0);
return createContentQuery(null);
}
};
setCurrentPage(0);
}
}

protected void refreshCatalogItemsPanel() {
Expand Down Expand Up @@ -235,6 +246,12 @@ protected void onUpdate(AjaxRequestTarget target) {
private void initSearchPanel(WebMarkupContainer headerPanel) {
final Form searchForm = new Form(ID_SEARCH_FORM);
headerPanel.add(searchForm);
searchForm.add(new VisibleEnableBehaviour(){
public boolean isVisible(){
return !(AssignmentViewType.ROLE_CATALOG_VIEW.equals(AssignmentViewType.getViewTypeFromSession(pageBase)) &&
(catalogOidModel != null || StringUtils.isNotEmpty(catalogOidModel.getObject())));
}
});
searchForm.setOutputMarkupId(true);

SearchPanel search = new SearchPanel(ID_SEARCH, (IModel) searchModel, false) {
Expand Down Expand Up @@ -474,6 +491,12 @@ public void onClick(AjaxRequestTarget ajaxRequestTarget) {
setResponsePage(new PageAssignmentsList(loadUser()));
}
};
cartButton.add(new VisibleEnableBehaviour(){
public boolean isVisible(){
return !(AssignmentViewType.ROLE_CATALOG_VIEW.equals(AssignmentViewType.getViewTypeFromSession(pageBase)) &&
(catalogOidModel != null || StringUtils.isNotEmpty(catalogOidModel.getObject())));
}
});
cartButton.setOutputMarkupId(true);
headerPanel.add(cartButton);

Expand Down
Expand Up @@ -126,6 +126,7 @@ private Component initMainPanel() {
}
} else {
AssignmentCatalogPanel panel = new AssignmentCatalogPanel(ID_MAIN_PANEL, PageAssignmentShoppingKart.this);
panel.setRootOid(catalogOid);
panel.setOutputMarkupId(true);
return panel;
}
Expand Down

0 comments on commit d27fec8

Please sign in to comment.