use of org.olat.user.propertyhandlers.UserPropertyHandler in project OpenOLAT by OpenOLAT.
the class UserModule method checkMandatoryUserProperty.
private void checkMandatoryUserProperty(String userPropertyIdentifyer) {
List<UserPropertyHandler> propertyHandlers = userPropertiesConfig.getAllUserPropertyHandlers();
boolean propertyDefined = false;
for (UserPropertyHandler propertyHandler : propertyHandlers) {
if (propertyHandler.getName().equals(userPropertyIdentifyer)) {
propertyDefined = true;
break;
}
}
if (!propertyDefined) {
throw new StartupException("The user property handler for the mandatory user property " + userPropertyIdentifyer + " is not defined. Check your olat_userconfig.xml file!");
}
}
use of org.olat.user.propertyhandlers.UserPropertyHandler in project OpenOLAT by OpenOLAT.
the class HomePageSettingsController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
boolean firstGroup = true;
List<UserPropertyHandler> homepagePropertyHanders = userManager.getUserPropertyHandlersFor(HomePageConfig.class.getCanonicalName(), isAdministrativeUser);
Map<String, FormLayoutContainer> groupContainerMap = new HashMap<>();
HomePageConfig conf = hpcm.loadConfigFor(identityToModify.getName());
for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
if (userPropertyHandler == null) {
continue;
}
// add spacer if necessary (i.e. when group name changes)
String group = userPropertyHandler.getGroup();
FormLayoutContainer groupContainer;
if (groupContainerMap.containsKey(group)) {
groupContainer = groupContainerMap.get(group);
} else {
groupContainer = FormLayoutContainer.createDefaultFormLayout("group." + group, getTranslator());
groupContainer.setFormTitle(translate("form.group." + group));
formLayout.add(groupContainer);
groupContainerMap.put(group, groupContainer);
if (firstGroup) {
groupContainer.setFormContextHelp("Configuration");
firstGroup = false;
}
}
if (homepagePropertyHanders.contains(userPropertyHandler)) {
// add checkbox to container if configured for homepage usage identifier
String checkboxName = userPropertyHandler.getName();
MultipleSelectionElement publishCheckbox = uifactory.addCheckboxesHorizontal(checkboxName, userPropertyHandler.i18nFormElementLabelKey(), groupContainer, checkKeys, checkValues);
boolean isEnabled = conf.isEnabled(userPropertyHandler.getName());
publishCheckbox.select(checkKeys[0], isEnabled);
publishCheckbox.setUserObject(userPropertyHandler.getName());
// Mandatory homepage properties can not be changed by user
if (userManager.isMandatoryUserProperty(HomePageConfig.class.getCanonicalName(), userPropertyHandler)) {
publishCheckbox.select(checkKeys[0], true);
publishCheckbox.setEnabled(false);
} else {
publishCheckbox.addActionListener(FormEvent.ONCHANGE);
}
}
}
String previewPage = velocity_root + "/homepage_preview.html";
previewContainer = FormLayoutContainer.createCustomFormLayout("preview", getTranslator(), previewPage);
previewContainer.setFormTitle(translate("tab.preview"));
previewContainer.setRootForm(mainForm);
formLayout.add(previewContainer);
updatePreview(ureq);
}
use of org.olat.user.propertyhandlers.UserPropertyHandler in project OpenOLAT by OpenOLAT.
the class CertificatesSelectionDataModel method getValueAt.
@Override
public Object getValueAt(int row, int col) {
CertificateInfos infos = getObject(row);
Identity identity = infos.getAssessedIdentity();
if (col == USERNAME_COL) {
return identity.getName();
} else if (col == PASSED_COL) {
return infos.getPassed();
} else if (col == SCORE_COL) {
Float score = infos.getScore();
return AssessmentHelper.getRoundedScore(score);
} else if (col >= 0 && col < userPropertyHandlers.size()) {
UserPropertyHandler handler = userPropertyHandlers.get(col);
return handler.getUserProperty(identity.getUser(), null);
}
return null;
}
use of org.olat.user.propertyhandlers.UserPropertyHandler in project OpenOLAT by OpenOLAT.
the class CheckedPDFExport method findPropertyIndex.
private int findPropertyIndex(String propertyName, List<UserPropertyHandler> userPropHandlers) {
int i = 0;
int index = -1;
for (UserPropertyHandler userPropertyHandler : userPropHandlers) {
if (propertyName.equals(userPropertyHandler.getName())) {
index = i;
numOfCols++;
}
i++;
}
return index;
}
use of org.olat.user.propertyhandlers.UserPropertyHandler in project OpenOLAT by OpenOLAT.
the class MemberInfoController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
if (formLayout instanceof FormLayoutContainer) {
FormLayoutContainer layoutCont = (FormLayoutContainer) formLayout;
Controller dpc = new DisplayPortraitController(ureq, getWindowControl(), identity, true, false);
// auto dispose
listenTo(dpc);
layoutCont.put("image", dpc.getInitialComponent());
layoutCont.contextPut("fullname", StringHelper.escapeHtml(userManager.getUserDisplayName(identity)));
}
// user properties
FormLayoutContainer userPropertiesContainer = FormLayoutContainer.createDefaultFormLayout_6_6("userProperties", getTranslator());
formLayout.add("userProperties", userPropertiesContainer);
List<UserPropertyHandler> userPropertyHandlers = userManager.getUserPropertyHandlersFor(getClass().getCanonicalName(), false);
for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
if (userPropertyHandler == null)
continue;
String propName = userPropertyHandler.getName();
String value = userPropertyHandler.getUserProperty(identity.getUser(), getLocale());
String key = userPropertyHandler.i18nFormElementLabelKey();
if (value == null) {
value = "";
}
uifactory.addStaticTextElement("up_" + propName, key, value, userPropertiesContainer);
}
// course informations
FormLayoutContainer courseInfosContainer = FormLayoutContainer.createDefaultFormLayout_9_3("courseInfos", getTranslator());
formLayout.add("courseInfos", courseInfosContainer);
membershipCreationEl = uifactory.addStaticTextElement("firstTime", "course.membership.creation", "", courseInfosContainer);
if (securityModule.isUserLastVisitVisible(ureq.getUserSession().getRoles())) {
Formatter formatter = Formatter.getInstance(getLocale());
String lastVisit = "";
String numOfVisits = "0";
if (courseInfos != null) {
if (courseInfos.getRecentLaunch() != null) {
lastVisit = formatter.formatDate(courseInfos.getRecentLaunch());
}
if (courseInfos.getVisit() >= 0) {
numOfVisits = Integer.toString(courseInfos.getVisit());
}
}
uifactory.addStaticTextElement("lastTime", "course.lastTime", lastVisit, courseInfosContainer);
uifactory.addStaticTextElement("numOfVisits", "course.numOfVisits", numOfVisits, courseInfosContainer);
}
// links
if (withLinks) {
homeLink = uifactory.addFormLink("home", formLayout, Link.BUTTON);
homeLink.setIconLeftCSS("o_icon o_icon_home");
formLayout.add("home", homeLink);
contactLink = uifactory.addFormLink("contact", formLayout, Link.BUTTON);
contactLink.setIconLeftCSS("o_icon o_icon_mail");
formLayout.add("contact", contactLink);
if (repoEntryKey != null) {
assessmentLink = uifactory.addFormLink("assessment", formLayout, Link.BUTTON);
assessmentLink.setIconLeftCSS("o_icon o_icon_certificate");
formLayout.add("assessment", assessmentLink);
}
}
}
Aggregations