Skip to content

Commit

Permalink
MID-4840 org tree storage fix
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Sep 6, 2018
1 parent 56abbd0 commit f6b009b
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 12 deletions.
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
}
}
}
);
Expand All @@ -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<ITab> 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<ITab> tabbedPanel = new AjaxTabbedPanel<ITab>(ID_TABS, tabModel.getObject(), new Model<>(selectedTab), null){

Expand Down Expand Up @@ -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<OrgType> selected = new SelectableBean<>();
selected.setValue(roots.get(index).asObjectable());
storage.getUsers().setSelectedItem(selected);
storage.getUsers().setSelectedTabId(index);
UsersStorage usersStorage = getUsersSessionStorage();
if (usersStorage != null) {
SelectableBean<OrgType> selected = new SelectableBean<>();
selected.setValue(roots.get(index).asObjectable());
usersStorage.setSelectedItem(selected);
usersStorage.setSelectedTabId(index);
}
}
}

protected UsersStorage getUsersSessionStorage(){
return getPageBase().getSessionStorage().getUsers();
}

}
Expand Up @@ -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;
Expand Down Expand Up @@ -109,6 +110,11 @@ protected boolean isWarnMessageVisible(){
return false;
}

@Override
protected UsersStorage getUsersSessionStorage(){
return null;
}

};

tabbedPanel.setOutputMarkupId(true);
Expand Down

0 comments on commit f6b009b

Please sign in to comment.