Skip to content
Snippets Groups Projects
Commit 0d89cf52 authored by srosse's avatar srosse
Browse files

OO-1827: apply a sort per default for the members list

parent e5a171a7
No related branches found
No related tags found
No related merge requests found
...@@ -37,11 +37,13 @@ import org.olat.basesecurity.GroupRoles; ...@@ -37,11 +37,13 @@ import org.olat.basesecurity.GroupRoles;
import org.olat.basesecurity.SearchIdentityParams; import org.olat.basesecurity.SearchIdentityParams;
import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBFactory;
import org.olat.core.commons.persistence.PersistenceHelper; import org.olat.core.commons.persistence.PersistenceHelper;
import org.olat.core.commons.persistence.SortKey;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.Component; import org.olat.core.gui.components.Component;
import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItem;
import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement;
import org.olat.core.gui.components.form.flexible.elements.FlexiTableSortOptions;
import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.elements.FormLink;
import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.form.flexible.impl.FormEvent;
...@@ -209,7 +211,7 @@ public abstract class AbstractMemberListController extends FormBasicController i ...@@ -209,7 +211,7 @@ public abstract class AbstractMemberListController extends FormBasicController i
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel();
initColumns(columnsModel); SortKey defaultSortKey = initColumns(columnsModel);
memberListModel = new MemberListTableModel(columnsModel, imModule.isOnlineStatusEnabled()); memberListModel = new MemberListTableModel(columnsModel, imModule.isOnlineStatusEnabled());
membersTable = uifactory.addTableElement(getWindowControl(), "memberList", memberListModel, 20, false, getTranslator(), formLayout); membersTable = uifactory.addTableElement(getWindowControl(), "memberList", memberListModel, 20, false, getTranslator(), formLayout);
...@@ -220,6 +222,12 @@ public abstract class AbstractMemberListController extends FormBasicController i ...@@ -220,6 +222,12 @@ public abstract class AbstractMemberListController extends FormBasicController i
membersTable.setExportEnabled(true); membersTable.setExportEnabled(true);
membersTable.setSelectAllEnable(true); membersTable.setSelectAllEnable(true);
membersTable.setElementCssClass("o_sel_member_list"); membersTable.setElementCssClass("o_sel_member_list");
if(defaultSortKey != null) {
FlexiTableSortOptions options = new FlexiTableSortOptions();
options.setDefaultOrderBy(defaultSortKey);
membersTable.setSortSettings(options);
}
if(!globallyManaged) { if(!globallyManaged) {
editButton = uifactory.addFormLink("edit.members", formLayout, Link.BUTTON); editButton = uifactory.addFormLink("edit.members", formLayout, Link.BUTTON);
...@@ -252,7 +260,9 @@ public abstract class AbstractMemberListController extends FormBasicController i ...@@ -252,7 +260,9 @@ public abstract class AbstractMemberListController extends FormBasicController i
// //
} }
protected void initColumns(FlexiTableColumnModel columnsModel) { private SortKey initColumns(FlexiTableColumnModel columnsModel) {
SortKey defaultSortKey = null;
if(chatEnabled) { if(chatEnabled) {
DefaultFlexiColumnModel chatCol = new DefaultFlexiColumnModel(Cols.online.i18n(), Cols.online.ordinal()); DefaultFlexiColumnModel chatCol = new DefaultFlexiColumnModel(Cols.online.i18n(), Cols.online.ordinal());
chatCol.setExportable(false); chatCol.setExportable(false);
...@@ -262,6 +272,7 @@ public abstract class AbstractMemberListController extends FormBasicController i ...@@ -262,6 +272,7 @@ public abstract class AbstractMemberListController extends FormBasicController i
FlexiCellRenderer renderer = new StaticFlexiCellRenderer(TABLE_ACTION_EDIT, new TextFlexiCellRenderer()); FlexiCellRenderer renderer = new StaticFlexiCellRenderer(TABLE_ACTION_EDIT, new TextFlexiCellRenderer());
columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel(Cols.username.i18n(), Cols.username.ordinal(), TABLE_ACTION_EDIT, columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel(Cols.username.i18n(), Cols.username.ordinal(), TABLE_ACTION_EDIT,
true, Cols.username.name(), renderer)); true, Cols.username.name(), renderer));
defaultSortKey = new SortKey(Cols.username.name(), true);
} }
int colPos = USER_PROPS_OFFSET; int colPos = USER_PROPS_OFFSET;
...@@ -280,6 +291,10 @@ public abstract class AbstractMemberListController extends FormBasicController i ...@@ -280,6 +291,10 @@ public abstract class AbstractMemberListController extends FormBasicController i
} }
columnsModel.addFlexiColumnModel(col); columnsModel.addFlexiColumnModel(col);
colPos++; colPos++;
if(defaultSortKey == null) {
defaultSortKey = new SortKey(propName, true);
}
} }
columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.firstTime.i18n(), Cols.firstTime.ordinal(), true, Cols.firstTime.name())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.firstTime.i18n(), Cols.firstTime.ordinal(), true, Cols.firstTime.name()));
...@@ -297,6 +312,7 @@ public abstract class AbstractMemberListController extends FormBasicController i ...@@ -297,6 +312,7 @@ public abstract class AbstractMemberListController extends FormBasicController i
DefaultFlexiColumnModel toolsCol = new DefaultFlexiColumnModel(Cols.tools.i18n(), Cols.tools.ordinal()); DefaultFlexiColumnModel toolsCol = new DefaultFlexiColumnModel(Cols.tools.i18n(), Cols.tools.ordinal());
toolsCol.setExportable(false); toolsCol.setExportable(false);
columnsModel.addFlexiColumnModel(toolsCol); columnsModel.addFlexiColumnModel(toolsCol);
return defaultSortKey;
} }
@Override @Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment