diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRoles.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRoles.java index d704fa3d140..382708ab9c5 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRoles.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/PageRoles.java @@ -42,6 +42,7 @@ import com.evolveum.midpoint.web.page.admin.configuration.component.HeaderMenuAction; import com.evolveum.midpoint.web.page.admin.roles.dto.RolesSearchDto; import com.evolveum.midpoint.web.session.RolesStorage; +import com.evolveum.midpoint.web.session.UsersStorage; import com.evolveum.midpoint.web.util.OnePageParameterEncoder; import com.evolveum.midpoint.web.util.WebMiscUtil; import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType; @@ -116,12 +117,22 @@ private void initLayout() { Form mainForm = new Form(ID_MAIN_FORM); add(mainForm); - ObjectDataProvider provider = new ObjectDataProvider(PageRoles.this, RoleType.class); + ObjectDataProvider provider = new ObjectDataProvider(PageRoles.this, RoleType.class) { + + @Override + protected void saveProviderPaging(ObjectQuery query, ObjectPaging paging) { + RolesStorage storage = getSessionStorage().getRoles(); + storage.setRolesPaging(paging); + } + }; provider.setQuery(createQuery()); List> columns = initColumns(); TablePanel table = new TablePanel<>(ID_TABLE, provider, columns); table.setOutputMarkupId(true); + RolesStorage storage = getSessionStorage().getRoles(); + table.setCurrentPage(storage.getRolesPaging()); + mainForm.add(table); add(new ConfirmationDialog(DIALOG_CONFIRM_DELETE, createStringResource("pageRoles.dialog.title.confirmDelete"), @@ -299,8 +310,10 @@ private void listRolesPerformed(AjaxRequestTarget target){ RolesStorage storage = getSessionStorage().getRoles(); storage.setRolesSearch(searchModel.getObject()); + storage.setRolesPaging(null); TablePanel table = getRoleTable(); + table.setCurrentPage(null); target.add(table); target.add(getFeedbackPanel()); } @@ -372,6 +385,8 @@ private void clearSearchPerformed(AjaxRequestTarget target){ RolesStorage storage = getSessionStorage().getRoles(); storage.setRolesSearch(searchModel.getObject()); + storage.setRolesPaging(null); + panel.setCurrentPage(storage.getRolesPaging()); target.add(get(ID_SEARCH_FORM)); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java index aac6e4707cb..a5fac570ce3 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/PageUsers.java @@ -429,7 +429,8 @@ private void searchPerformed(AjaxRequestTarget target) { UsersStorage storage = getSessionStorage().getUsers(); storage.setUsersSearch(model.getObject()); - panel.setCurrentPage(storage.getUsersPaging()); + storage.setUsersPaging(null); + panel.setCurrentPage(null); target.add(panel); } @@ -652,7 +653,8 @@ private void clearSearchPerformed(AjaxRequestTarget target){ UsersStorage storage = getSessionStorage().getUsers(); storage.setUsersSearch(model.getObject()); - panel.setCurrentPage(storage.getUsersPaging()); + storage.setUsersPaging(null); + panel.setCurrentPage(null); target.add(get(ID_SEARCH_FORM)); target.add(panel);