diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/AbstractOrgTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/AbstractOrgTabPanel.java index d17b11bc941..6e6a45853f4 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/AbstractOrgTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/AbstractOrgTabPanel.java @@ -19,6 +19,7 @@ import java.util.List; import com.evolveum.midpoint.web.component.util.SelectableBean; +import com.evolveum.midpoint.web.session.UsersStorage; import org.apache.wicket.ajax.AjaxEventBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.extensions.markup.html.tabs.AbstractTab; @@ -88,8 +89,10 @@ public WebMarkupContainer getPanel(String panelId) { private static final long serialVersionUID = 1L; protected void onEvent(final AjaxRequestTarget target) { - SessionStorage storage = getPageBase().getSessionStorage(); - storage.getUsers().setSelectedTabId(tabId); + UsersStorage usersStorage = getUsersSessionStorage(); + if (usersStorage != null) { + usersStorage.setSelectedTabId(tabId); + } } } ); @@ -108,12 +111,14 @@ protected void onEvent(final AjaxRequestTarget target) { } }; - final SessionStorage storage = getPageBase().getSessionStorage(); - int selectedTab = storage.getUsers().getSelectedTabId() == -1 ? 0 : storage.getUsers().getSelectedTabId(); List tabsList = tabModel.getObject(); - if (tabsList == null || (selectedTab > tabsList.size() - 1)) { - storage.getUsers().setSelectedTabId(0); - selectedTab = 0; + UsersStorage usersStorage = getUsersSessionStorage(); + int selectedTab = 0; + if (usersStorage != null) { + selectedTab = usersStorage.getSelectedTabId() == -1 ? 0 : usersStorage.getSelectedTabId(); + if (tabsList == null || (selectedTab > tabsList.size() - 1)) { + usersStorage.setSelectedTabId(0); + } } AjaxTabbedPanel tabbedPanel = new AjaxTabbedPanel(ID_TABS, tabModel.getObject(), new Model<>(selectedTab), null){ @@ -196,12 +201,18 @@ protected boolean isWarnMessageVisible(){ protected void changeTabPerformed(int index){ if (roots != null && index >= 0 && index <= roots.size()){ - SessionStorage storage = getPageBase().getSessionStorage(); - SelectableBean selected = new SelectableBean<>(); - selected.setValue(roots.get(index).asObjectable()); - storage.getUsers().setSelectedItem(selected); - storage.getUsers().setSelectedTabId(index); + UsersStorage usersStorage = getUsersSessionStorage(); + if (usersStorage != null) { + SelectableBean selected = new SelectableBean<>(); + selected.setValue(roots.get(index).asObjectable()); + usersStorage.setSelectedItem(selected); + usersStorage.setSelectedTabId(index); + } } } + protected UsersStorage getUsersSessionStorage(){ + return getPageBase().getSessionStorage().getUsers(); + } + } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/OrgTreeAssignablePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/OrgTreeAssignablePanel.java index cc027d1e6ab..2f94db98b05 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/OrgTreeAssignablePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/orgs/OrgTreeAssignablePanel.java @@ -19,6 +19,7 @@ import java.util.List; import com.evolveum.midpoint.gui.api.model.LoadableModel; +import com.evolveum.midpoint.web.session.UsersStorage; import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.panel.Panel; @@ -109,6 +110,11 @@ protected boolean isWarnMessageVisible(){ return false; } + @Override + protected UsersStorage getUsersSessionStorage(){ + return null; + } + }; tabbedPanel.setOutputMarkupId(true);