use of org.olat.core.gui.components.table.TableController in project OpenOLAT by OpenOLAT.
the class GroupChoiceForm method initManageTable.
private void initManageTable(UserRequest ureq) {
// reload data
loadData();
// load participants
List<Identity> lstIdents = new ArrayList<Identity>();
if (groupForm.getSelection().equals(GroupChoiceForm.CHOICE_ALL)) {
lstIdents.addAll(allIdentities);
} else if (groupForm.getSelection().equals(GroupChoiceForm.CHOICE_OTHERS)) {
lstIdents.addAll(notInGroupIdentities);
} else if (StringHelper.isLong(groupForm.getSelection())) {
Long groupKey = new Long(groupForm.getSelection());
BusinessGroup group = businessGroupService.loadBusinessGroup(groupKey);
lstIdents.addAll(businessGroupService.getMembers(group, GroupRoles.participant.name()));
}
boolean isAdministrativeUser = securityModule.isUserAllowedAdminProps(ureq.getUserSession().getRoles());
List<UserPropertyHandler> userPropertyHandlers = userManager.getUserPropertyHandlersFor(USER_PROPS_ID, isAdministrativeUser);
// prepare table for run view
TableGuiConfiguration tableConfig = new TableGuiConfiguration();
tableConfig.setTableEmptyMessage(translate("cl.table.empty"));
tableConfig.setDownloadOffered(true);
tableConfig.setPreferencesOffered(true, "ExtendedManageTable");
removeAsListenerAndDispose(manageChecklistTable);
manageChecklistTable = new TableController(tableConfig, ureq, getWindowControl(), getTranslator());
listenTo(manageChecklistTable);
int cols = 0;
if (isAdministrativeUser) {
manageChecklistTable.addColumnDescriptor(new DefaultColumnDescriptor("username", 1000, null, getLocale()));
cols++;
}
int i = 0;
for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
if (userPropertyHandler == null)
continue;
boolean visible = UserManager.getInstance().isMandatoryUserProperty(USER_PROPS_ID, userPropertyHandler);
manageChecklistTable.addColumnDescriptor(visible, userPropertyHandler.getColumnDescriptor(i++, DETAILS_ACTION, getLocale()));
cols++;
}
int j = 500;
List<Checkpoint> checkpointList = checklist.getCheckpointsSorted(ChecklistUIFactory.comparatorTitleAsc);
for (Checkpoint checkpoint : checkpointList) {
String pointTitle = checkpoint.getTitle() == null ? "" : checkpoint.getTitle();
manageChecklistTable.addColumnDescriptor(new ChecklistMultiSelectColumnDescriptor(pointTitle, j++));
cols++;
}
if (!readOnly) {
manageChecklistTable.addColumnDescriptor(new StaticColumnDescriptor(EDIT_ACTION, "cl.edit.title", translate(EDIT_ACTION)));
cols++;
}
manageChecklistTable.setMultiSelect(false);
manageTableData = new ChecklistManageTableDataModel(checkpointList, lstIdents, userPropertyHandlers, cols);
manageChecklistTable.setTableDataModel(manageTableData);
panel.setContent(manageChecklistTable.getInitialComponent());
}
use of org.olat.core.gui.components.table.TableController in project OpenOLAT by OpenOLAT.
the class GroupChoiceForm method initEditTable.
private void initEditTable(UserRequest ureq, Identity identity) {
List<Checkpoint> checkpoints = checklist.getCheckpoints();
editTableData = new ChecklistRunTableDataModel(checkpoints, getTranslator());
TableGuiConfiguration tableConfig = new TableGuiConfiguration();
tableConfig.setTableEmptyMessage(translate("cl.table.empty"));
tableConfig.setDownloadOffered(true);
tableConfig.setPreferencesOffered(true, "ExtendedEditTable");
removeAsListenerAndDispose(editChecklistTable);
editChecklistTable = new TableController(tableConfig, ureq, getWindowControl(), getTranslator());
listenTo(editChecklistTable);
editChecklistTable.addColumnDescriptor(new DefaultColumnDescriptor("cl.table.title", 0, null, ureq.getLocale()));
editChecklistTable.addColumnDescriptor(new DefaultColumnDescriptor("cl.table.description", 1, null, ureq.getLocale()));
editChecklistTable.addColumnDescriptor(new DefaultColumnDescriptor("cl.table.mode", 2, null, ureq.getLocale()));
editChecklistTable.setMultiSelect(true);
editChecklistTable.addMultiSelectAction("cl.close", "close");
editChecklistTable.addMultiSelectAction("cl.save.close", "save");
editChecklistTable.setTableDataModel(editTableData);
for (int i = 0; i < checkpoints.size(); i++) {
Checkpoint checkpoint = editTableData.getObject(i);
boolean selected = checkpoint.getSelectionFor(identity).booleanValue();
editChecklistTable.setMultiSelectSelectedAt(i, selected);
}
}
use of org.olat.core.gui.components.table.TableController in project OpenOLAT by OpenOLAT.
the class GroupController method init.
protected void init(UserRequest ureq, boolean mayModifyMembers, boolean keepAtLeastOne, boolean enableTablePreferences, boolean enableUserSelection, boolean allowDownload, boolean mandatoryEmail, SecurityGroup aSecurityGroup) {
this.securityGroup = aSecurityGroup;
this.mayModifyMembers = mayModifyMembers;
this.keepAtLeastOne = keepAtLeastOne;
this.mandatoryEmail = mandatoryEmail;
securityManager = BaseSecurityManager.getInstance();
imModule = CoreSpringFactory.getImpl(InstantMessagingModule.class);
imService = CoreSpringFactory.getImpl(InstantMessagingService.class);
userManager = CoreSpringFactory.getImpl(UserManager.class);
sessionManager = CoreSpringFactory.getImpl(UserSessionManager.class);
mailManager = CoreSpringFactory.getImpl(MailManager.class);
Roles roles = ureq.getUserSession().getRoles();
BaseSecurityModule securityModule = CoreSpringFactory.getImpl(BaseSecurityModule.class);
isAdministrativeUser = securityModule.isUserAllowedAdminProps(roles);
chatEnabled = imModule.isEnabled() && imModule.isPrivateEnabled();
// default group controller has no mail functionality
this.addUserMailDefaultTempl = null;
this.removeUserMailDefaultTempl = null;
groupmemberview = createVelocityContainer("index");
addUsersButton = LinkFactory.createButtonSmall("overview.addusers", groupmemberview, this);
addUsersButton.setElementCssClass("o_sel_group_import_users");
addUserButton = LinkFactory.createButtonSmall("overview.adduser", groupmemberview, this);
addUserButton.setElementCssClass("o_sel_group_add_user");
if (mayModifyMembers) {
groupmemberview.contextPut("mayadduser", Boolean.TRUE);
}
TableGuiConfiguration tableConfig = new TableGuiConfiguration();
tableConfig.setDownloadOffered(allowDownload);
if (enableTablePreferences) {
// save table preferences for each group seperatly
if (mayModifyMembers) {
tableConfig.setPreferencesOffered(true, "groupcontroller" + securityGroup.getKey());
} else {
// different rowcount...
tableConfig.setPreferencesOffered(true, "groupcontrollerreadonly" + securityGroup.getKey());
}
}
myTrans = userManager.getPropertyHandlerTranslator(getTranslator());
tableCtr = new TableController(tableConfig, ureq, getWindowControl(), myTrans);
listenTo(tableCtr);
initGroupTable(tableCtr, ureq, enableTablePreferences, enableUserSelection);
// set data model
reloadData();
groupmemberview.put("subjecttable", tableCtr.getInitialComponent());
putInitialPanel(groupmemberview);
}
use of org.olat.core.gui.components.table.TableController in project OpenOLAT by OpenOLAT.
the class AdvancedPropertiesController method event.
/**
* @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event)
*/
public void event(UserRequest ureq, Controller source, Event event) {
if (source == searchForm && event == Event.DONE_EVENT) {
String resourceTypeName = searchForm.getResourceTypeName();
String resourceTypeId = searchForm.getResourceTypeId();
Long resTypeId = null;
if (resourceTypeId != null && !resourceTypeId.equals(""))
resTypeId = Long.valueOf(resourceTypeId);
String category = searchForm.getCategory();
if (category != null && category.equals(""))
category = null;
String propertyName = searchForm.getPropertyName();
if (propertyName != null && propertyName.equals(""))
propertyName = null;
List<Property> entries = PropertyManager.getInstance().listProperties(searchForm.getIdentity(), null, resourceTypeName, resTypeId, category, propertyName);
PropertiesTableDataModel ptdm = new PropertiesTableDataModel(entries, isAdministrativeUser);
TableGuiConfiguration tableConfig = new TableGuiConfiguration();
removeAsListenerAndDispose(tableCtr);
tableCtr = new TableController(tableConfig, ureq, getWindowControl(), getTranslator());
// use null as listener argument because we are using listenTo(..) from basiccontroller
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.userName", 0, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.resourceTypeName", 1, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.resourceTypeId", 2, null, getLocale(), ColumnDescriptor.ALIGNMENT_RIGHT));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.category", 3, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.name", 4, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.floatValue", 5, null, getLocale(), ColumnDescriptor.ALIGNMENT_RIGHT));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.stringValue", 6, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.longValue", 10, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.textValue", 7, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.creationdate", 8, null, getLocale()));
tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.lastmodified", 9, null, getLocale()));
tableCtr.setTableDataModel(ptdm);
listenTo(tableCtr);
myPanel.setContent(tableCtr.getInitialComponent());
}
}
use of org.olat.core.gui.components.table.TableController in project OpenOLAT by OpenOLAT.
the class UserSearchController method doSearch.
private void doSearch(UserRequest ureq) {
String login = searchform.login.getValue();
// build user fields search map
Map<String, String> userPropertiesSearch = new HashMap<>();
for (UserPropertyHandler userPropertyHandler : searchform.userPropertyHandlers) {
if (userPropertyHandler == null)
continue;
FormItem ui = searchform.propFormItems.get(userPropertyHandler.getName());
String uiValue = userPropertyHandler.getStringValue(ui);
if (userPropertyHandler.getName().startsWith("genericCheckboxProperty")) {
if (!"false".equals(uiValue)) {
userPropertiesSearch.put(userPropertyHandler.getName(), uiValue);
}
} else if (StringHelper.containsNonWhitespace(uiValue)) {
userPropertiesSearch.put(userPropertyHandler.getName(), uiValue);
}
}
if (userPropertiesSearch.isEmpty()) {
userPropertiesSearch = null;
}
tableCtr = new TableController(tableConfig, ureq, getWindowControl(), myContent.getTranslator());
listenTo(tableCtr);
List<Identity> users = searchUsers(login, userPropertiesSearch, true);
int maxResults = securityModule.getUserSearchMaxResultsValue();
if (maxResults > 0 && users.size() > maxResults) {
users = users.subList(0, maxResults);
showWarning("error.search.maxResults", Integer.toString(maxResults));
}
if (!users.isEmpty()) {
tdm = new UserTableDataModel(users, getLocale(), isAdministrativeUser);
// add the data column descriptors
tdm.addColumnDescriptors(tableCtr, null);
// add the action columns
if (useMultiSelect) {
// add multiselect action
tableCtr.addMultiSelectAction(this.actionKeyChoose, ACTION_MULTISELECT_CHOOSE);
} else {
// add single column selec action
tableCtr.addColumnDescriptor(new StaticColumnDescriptor(ACTION_SINGLESELECT_CHOOSE, "table.header.action", myContent.getTranslator().translate("action.choose")));
}
tableCtr.setTableDataModel(tdm);
tableCtr.setMultiSelect(useMultiSelect);
searchPanel.pushContent(tableCtr.getInitialComponent());
myContent.contextPut("showButton", "true");
} else {
getWindowControl().setInfo(translate("error.no.user.found"));
}
}
Aggregations