From f8b24379efdefd662754da965f9f452e5c51d78c Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 16 Jul 2014 08:59:56 +0200 Subject: [PATCH] OO-1013: persists the settings of the flexi table for groups and questions --- .../course/member/CourseBusinessGroupListController.java | 2 +- .../ui/main/AbstractBusinessGroupListController.java | 9 ++++++--- .../olat/group/ui/main/BusinessGroupListController.java | 4 ++-- .../ui/main/FavoritBusinessGroupListController.java | 4 ++-- .../group/ui/main/OpenBusinessGroupListController.java | 4 ++-- .../ui/main/OverviewBusinessGroupListController.java | 8 ++++---- .../group/ui/main/SearchBusinessGroupListController.java | 4 ++-- .../main/SelectBusinessGroupCourseAuthorController.java | 2 +- .../ui/main/SelectFavoritBusinessGroupController.java | 2 +- .../ui/main/SelectOwnedBusinessGroupController.java | 2 +- .../ui/main/SelectSearchBusinessGroupController.java | 2 +- .../modules/qpool/ui/AbstractItemListController.java | 3 +++ 12 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java b/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java index 115c2f63d54..c5c5287d9b8 100644 --- a/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java +++ b/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java @@ -80,7 +80,7 @@ public class CourseBusinessGroupListController extends AbstractBusinessGroupList private SelectBusinessGroupController selectController; public CourseBusinessGroupListController(UserRequest ureq, WindowControl wControl, RepositoryEntry re) { - super(ureq, wControl, "group_list", false, false, re); + super(ureq, wControl, "group_list", false, false, "course", re); this.re = re; } diff --git a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java index 1ab9d88a5fb..a2ecb8e1775 100644 --- a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java @@ -172,13 +172,14 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr private BusinessGroupViewFilter filter; private Object userObject; + private final String prefsKey; - public AbstractBusinessGroupListController(UserRequest ureq, WindowControl wControl, String page) { - this(ureq, wControl, page, false, false, null); + public AbstractBusinessGroupListController(UserRequest ureq, WindowControl wControl, String page, String prefsKey) { + this(ureq, wControl, page, false, false, prefsKey, null); } public AbstractBusinessGroupListController(UserRequest ureq, WindowControl wControl, String page, - boolean showAdminTools, boolean startExtendedSearch, Object userObject) { + boolean showAdminTools, boolean startExtendedSearch, String prefsKey, Object userObject) { super(ureq, wControl, page); setTranslator(Util.createPackageTranslator(AbstractBusinessGroupListController.class, ureq.getLocale(), getTranslator())); @@ -187,6 +188,7 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr this.showAdminTools = showAdminTools && admin; this.userObject = userObject; this.startExtendedSearch = startExtendedSearch; + this.prefsKey = prefsKey; initForm(ureq); } @@ -201,6 +203,7 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr FlexiTableSortOptions options = new FlexiTableSortOptions(); options.setFromColumnModel(true); tableEl.setSortSettings(options); + tableEl.setAndLoadPersistedPreferences(ureq, "gbg-list-" + prefsKey); searchCtrl = new BusinessGroupSearchController(ureq, getWindowControl(), isAdmin(), true, showAdminTools, mainForm); searchCtrl.setEnabled(false); diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/BusinessGroupListController.java index 8b309696f17..64097229cf8 100644 --- a/src/main/java/org/olat/group/ui/main/BusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/BusinessGroupListController.java @@ -31,8 +31,8 @@ import org.olat.group.model.SearchBusinessGroupParams; */ public class BusinessGroupListController extends AbstractBusinessGroupListController { - public BusinessGroupListController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "group_list"); + public BusinessGroupListController(UserRequest ureq, WindowControl wControl, String prefsKey) { + super(ureq, wControl, "group_list", prefsKey); } @Override diff --git a/src/main/java/org/olat/group/ui/main/FavoritBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/FavoritBusinessGroupListController.java index 5a5d117d875..cc618904332 100644 --- a/src/main/java/org/olat/group/ui/main/FavoritBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/FavoritBusinessGroupListController.java @@ -31,8 +31,8 @@ import org.olat.group.model.SearchBusinessGroupParams; */ public class FavoritBusinessGroupListController extends AbstractBusinessGroupListController { - public FavoritBusinessGroupListController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "group_list"); + public FavoritBusinessGroupListController(UserRequest ureq, WindowControl wControl, String prefsKey) { + super(ureq, wControl, "group_list", prefsKey); } @Override diff --git a/src/main/java/org/olat/group/ui/main/OpenBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/OpenBusinessGroupListController.java index c8022d803ca..0bc11b54d49 100644 --- a/src/main/java/org/olat/group/ui/main/OpenBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/OpenBusinessGroupListController.java @@ -41,8 +41,8 @@ import org.olat.group.ui.main.BusinessGroupFlexiTableModel.Cols; */ public class OpenBusinessGroupListController extends AbstractBusinessGroupListController { - public OpenBusinessGroupListController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "group_list"); + public OpenBusinessGroupListController(UserRequest ureq, WindowControl wControl, String prefsKey) { + super(ureq, wControl, "group_list", prefsKey); } @Override diff --git a/src/main/java/org/olat/group/ui/main/OverviewBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/OverviewBusinessGroupListController.java index 22e000c0e33..425fc9cc933 100644 --- a/src/main/java/org/olat/group/ui/main/OverviewBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/OverviewBusinessGroupListController.java @@ -168,7 +168,7 @@ public class OverviewBusinessGroupListController extends BasicController impleme OLATResourceable ores = OresHelper.createOLATResourceableInstance("Favorits", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl()); - favoritGroupsCtrl = new FavoritBusinessGroupListController(ureq, bwControl); + favoritGroupsCtrl = new FavoritBusinessGroupListController(ureq, bwControl, "favorit"); listenTo(favoritGroupsCtrl); favoritGroupsCtrl.doDefaultSearch(); @@ -183,7 +183,7 @@ public class OverviewBusinessGroupListController extends BasicController impleme OLATResourceable ores = OresHelper.createOLATResourceableInstance("AllGroups", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl()); - myGroupsCtrl = new BusinessGroupListController(ureq, bwControl); + myGroupsCtrl = new BusinessGroupListController(ureq, bwControl, "my"); listenTo(myGroupsCtrl); myGroupsCtrl.doDefaultSearch(); @@ -198,7 +198,7 @@ public class OverviewBusinessGroupListController extends BasicController impleme OLATResourceable ores = OresHelper.createOLATResourceableInstance("OwnedGroups", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl()); - openGroupsCtrl = new OpenBusinessGroupListController(ureq, bwControl); + openGroupsCtrl = new OpenBusinessGroupListController(ureq, bwControl, "public"); listenTo(openGroupsCtrl); openGroupsCtrl.doDefaultSearch(); @@ -213,7 +213,7 @@ public class OverviewBusinessGroupListController extends BasicController impleme OLATResourceable ores = OresHelper.createOLATResourceableInstance("Search", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl()); - searchGroupsCtrl = new SearchBusinessGroupListController(ureq, bwControl); + searchGroupsCtrl = new SearchBusinessGroupListController(ureq, bwControl, "search"); listenTo(searchGroupsCtrl); mainVC.put("groupList", searchGroupsCtrl.getInitialComponent()); diff --git a/src/main/java/org/olat/group/ui/main/SearchBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/SearchBusinessGroupListController.java index dd9c0250450..40679936993 100644 --- a/src/main/java/org/olat/group/ui/main/SearchBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/SearchBusinessGroupListController.java @@ -31,8 +31,8 @@ import org.olat.group.model.SearchBusinessGroupParams; */ public class SearchBusinessGroupListController extends AbstractBusinessGroupListController { - public SearchBusinessGroupListController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "group_list", true, true, null); + public SearchBusinessGroupListController(UserRequest ureq, WindowControl wControl, String prefsKey) { + super(ureq, wControl, "group_list", true, true, prefsKey, null); } @Override diff --git a/src/main/java/org/olat/group/ui/main/SelectBusinessGroupCourseAuthorController.java b/src/main/java/org/olat/group/ui/main/SelectBusinessGroupCourseAuthorController.java index abc58fc36f6..4210eddf4d4 100644 --- a/src/main/java/org/olat/group/ui/main/SelectBusinessGroupCourseAuthorController.java +++ b/src/main/java/org/olat/group/ui/main/SelectBusinessGroupCourseAuthorController.java @@ -35,7 +35,7 @@ import org.olat.group.model.SearchBusinessGroupParams; public class SelectBusinessGroupCourseAuthorController extends AbstractBusinessGroupListController { public SelectBusinessGroupCourseAuthorController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "group_list"); + super(ureq, wControl, "group_list", "authors"); } @Override diff --git a/src/main/java/org/olat/group/ui/main/SelectFavoritBusinessGroupController.java b/src/main/java/org/olat/group/ui/main/SelectFavoritBusinessGroupController.java index 4a50502df25..2bc1e0de90f 100644 --- a/src/main/java/org/olat/group/ui/main/SelectFavoritBusinessGroupController.java +++ b/src/main/java/org/olat/group/ui/main/SelectFavoritBusinessGroupController.java @@ -32,7 +32,7 @@ import org.olat.group.model.SearchBusinessGroupParams; public class SelectFavoritBusinessGroupController extends AbstractBusinessGroupListController { public SelectFavoritBusinessGroupController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "group_list"); + super(ureq, wControl, "group_list", "sel-favorit"); } diff --git a/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java b/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java index 070d9495513..ae67a476625 100644 --- a/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java +++ b/src/main/java/org/olat/group/ui/main/SelectOwnedBusinessGroupController.java @@ -32,7 +32,7 @@ import org.olat.group.model.SearchBusinessGroupParams; public class SelectOwnedBusinessGroupController extends AbstractBusinessGroupListController { public SelectOwnedBusinessGroupController(UserRequest ureq, WindowControl wControl) { - super(ureq, wControl, "select_group_list"); + super(ureq, wControl, "select_group_list", "sel-owned"); } @Override diff --git a/src/main/java/org/olat/group/ui/main/SelectSearchBusinessGroupController.java b/src/main/java/org/olat/group/ui/main/SelectSearchBusinessGroupController.java index 68f683bad2f..6d882b63417 100644 --- a/src/main/java/org/olat/group/ui/main/SelectSearchBusinessGroupController.java +++ b/src/main/java/org/olat/group/ui/main/SelectSearchBusinessGroupController.java @@ -34,7 +34,7 @@ public class SelectSearchBusinessGroupController extends AbstractBusinessGroupLi private final boolean restricted; public SelectSearchBusinessGroupController(UserRequest ureq, WindowControl wControl, boolean restricted) { - super(ureq, wControl, "group_list"); + super(ureq, wControl, "group_list", "sel-search"); this.restricted = restricted; } diff --git a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java index 95951773d4d..bd3c0946573 100644 --- a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java +++ b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java @@ -75,6 +75,7 @@ public abstract class AbstractItemListController extends FormBasicController private FlexiTableElement itemsTable; private QuestionItemDataModel model; + private final String prefsKey; private ExtendedSearchController extendedSearchCtrl; private final MarkManager markManager; @@ -86,6 +87,7 @@ public abstract class AbstractItemListController extends FormBasicController public AbstractItemListController(UserRequest ureq, WindowControl wControl, QuestionItemsSource source, String key) { super(ureq, wControl, "item_list"); + this.prefsKey = key; this.itemsSource = source; markManager = CoreSpringFactory.getImpl(MarkManager.class); qpoolService = CoreSpringFactory.getImpl(QPoolService.class); @@ -146,6 +148,7 @@ public abstract class AbstractItemListController extends FormBasicController itemsTable.setSortSettings(new FlexiTableSortOptions(true)); itemsTable.setExtendedSearch(extendedSearchCtrl); itemsTable.setColumnIndexForDragAndDropLabel(Cols.title.ordinal()); + itemsTable.setAndLoadPersistedPreferences(ureq, "qpool-list-" + prefsKey); initButtons(ureq, formLayout); } -- GitLab