use of org.olat.core.id.User in project OpenOLAT by OpenOLAT.
the class ViteroManager method createVmsUser.
private final int createVmsUser(Identity identity) throws VmsNotAvailableException {
String username = null;
try {
CreateUserRequest createRequest = new CreateUserRequest();
Newusertype user = new Newusertype();
// mandatory
User olatUser = identity.getUser();
username = "olat." + WebappHelper.getInstanceId() + "." + identity.getName();
user.setUsername(username);
user.setSurname(olatUser.getProperty(UserConstants.LASTNAME, null));
user.setFirstname(olatUser.getProperty(UserConstants.FIRSTNAME, null));
user.setEmail(olatUser.getProperty(UserConstants.EMAIL, null));
user.setPassword("changeme");
int customerId = viteroModule.getCustomerId();
user.getCustomeridlist().add(new Integer(customerId));
// optional
String language = identity.getUser().getPreferences().getLanguage();
if (StringHelper.containsNonWhitespace(language) && language.startsWith("de")) {
user.setLocale("de");
} else {
user.setLocale("en");
}
user.setPcstate("NOT_TESTED");
user.setTimezone(viteroModule.getTimeZoneId());
String street = olatUser.getProperty(UserConstants.STREET, null);
if (StringHelper.containsNonWhitespace(street)) {
user.setStreet(street);
}
String zip = olatUser.getProperty(UserConstants.ZIPCODE, null);
if (StringHelper.containsNonWhitespace(zip)) {
user.setZip(zip);
}
String city = olatUser.getProperty(UserConstants.CITY, null);
if (StringHelper.containsNonWhitespace(city)) {
user.setCity(city);
}
String country = olatUser.getProperty(UserConstants.COUNTRY, null);
if (StringHelper.containsNonWhitespace(country)) {
user.setCountry(country);
}
String mobile = olatUser.getProperty(UserConstants.TELMOBILE, null);
if (StringHelper.containsNonWhitespace(mobile)) {
user.setMobile(mobile);
}
String phonePrivate = olatUser.getProperty(UserConstants.TELPRIVATE, null);
if (StringHelper.containsNonWhitespace(phonePrivate)) {
user.setPhone(phonePrivate);
}
String phoneOffice = olatUser.getProperty(UserConstants.TELOFFICE, null);
if (StringHelper.containsNonWhitespace(phoneOffice)) {
user.setPhone(phoneOffice);
}
String institution = olatUser.getProperty(UserConstants.INSTITUTIONALNAME, null);
if (StringHelper.containsNonWhitespace(institution)) {
user.setCompany(institution);
}
/*
user.setTitle("");
*/
user.setTechnicalnote("Generated by OpenOLAT");
createRequest.setUser(user);
Userid userId = getUserWebService().createUser(createRequest);
storePortrait(identity, userId.getUserid());
return userId.getUserid();
} catch (SOAPFaultException f) {
ErrorCode code = handleAxisFault(f);
switch(code) {
default:
logAxisError("Cannot create vms user.", f);
}
return -1;
} catch (WebServiceException e) {
if (e.getCause() instanceof ConnectException) {
throw new VmsNotAvailableException();
}
log.error("Cannot create vms user.", e);
return -1;
}
}
use of org.olat.core.id.User in project OpenOLAT by OpenOLAT.
the class TunnelMapper method handle.
@Override
public MediaResource handle(String relPath, HttpServletRequest hreq) {
String method = hreq.getMethod();
String uri = relPath;
HttpUriRequest meth = null;
try {
URIBuilder builder = new URIBuilder();
builder.setScheme(proto).setHost(host).setPort(port.intValue());
if (uri == null) {
uri = (startUri == null) ? "" : startUri;
}
if (uri.length() > 0 && uri.charAt(0) != '/') {
uri = "/" + uri;
}
if (StringHelper.containsNonWhitespace(uri)) {
builder.setPath(uri);
}
if (method.equals("GET")) {
String queryString = hreq.getQueryString();
if (StringHelper.containsNonWhitespace(queryString)) {
builder.setCustomQuery(queryString);
}
meth = new HttpGet(builder.build());
} else if (method.equals("POST")) {
Map<String, String[]> params = hreq.getParameterMap();
HttpPost pmeth = new HttpPost(builder.build());
List<BasicNameValuePair> pairs = new ArrayList<>();
for (String key : params.keySet()) {
String[] vals = params.get(key);
for (String val : vals) {
pairs.add(new BasicNameValuePair(key, val));
}
}
HttpEntity entity = new UrlEncodedFormEntity(pairs, "UTF-8");
pmeth.setEntity(entity);
meth = pmeth;
}
// test page e.g. http://cgi.algonet.se/htbin/cgiwrap/ug/test.py
if ("enabled".equals(CoreSpringFactory.getImpl(BaseSecurityModule.class).getUserInfosTunnelCourseBuildingBlock())) {
User u = ident.getUser();
meth.addHeader("X-OLAT-USERNAME", ident.getName());
meth.addHeader("X-OLAT-LASTNAME", u.getProperty(UserConstants.LASTNAME, null));
meth.addHeader("X-OLAT-FIRSTNAME", u.getProperty(UserConstants.FIRSTNAME, null));
meth.addHeader("X-OLAT-EMAIL", u.getProperty(UserConstants.EMAIL, null));
meth.addHeader("X-OLAT-USERIP", ipAddress);
}
HttpResponse response = httpClient.execute(meth);
if (response == null) {
// error
return new NotFoundMediaResource();
}
// get or post successfully
Header responseHeader = response.getFirstHeader("Content-Type");
if (responseHeader == null) {
// error
EntityUtils.consumeQuietly(response.getEntity());
return new NotFoundMediaResource();
}
return new HttpRequestMediaResource(response);
} catch (ClientProtocolException | URISyntaxException e) {
log.error("", e);
return null;
} catch (IOException e) {
log.error("Error loading URI: " + (meth == null ? "???" : meth.getURI()), e);
return null;
}
}
use of org.olat.core.id.User in project OpenOLAT by OpenOLAT.
the class OLATUpgrade_8_4_0 method checkMailOfDeletedUsers.
private boolean checkMailOfDeletedUsers(UpgradeManager upgradeManager, UpgradeHistoryData uhd) {
if (!uhd.getBooleanDataValue(TASK_CHECK_MAIL_DELETED_USERS)) {
int counter = 0;
List<Identity> deletedIdentities;
do {
SearchIdentityParams params = new SearchIdentityParams();
params.setStatus(new Integer(Identity.STATUS_DELETED));
deletedIdentities = securityManager.getIdentitiesByPowerSearch(params, counter, BATCH_SIZE);
for (Identity deletedIdentity : deletedIdentities) {
User deletedUser = deletedIdentity.getUser();
boolean changed = processDeletedIdentityEmail(deletedUser, UserConstants.EMAIL);
changed |= processDeletedIdentityEmail(deletedUser, UserConstants.INSTITUTIONALEMAIL);
if (changed) {
UserManager.getInstance().updateUser(deletedUser);
log.audit("Update emails of deleted identity: " + deletedIdentity.getName() + " with key: " + deletedIdentity.getKey());
}
}
counter += deletedIdentities.size();
log.audit("Processed deleted identities: " + deletedIdentities.size());
dbInstance.intermediateCommit();
} while (deletedIdentities.size() == BATCH_SIZE);
uhd.setBooleanDataValue(TASK_CHECK_MAIL_DELETED_USERS, true);
upgradeManager.setUpgradesHistory(uhd, VERSION);
}
return true;
}
use of org.olat.core.id.User in project OpenOLAT by OpenOLAT.
the class UserPrefsResetForm method formOK.
@Override
protected void formOK(UserRequest ureq) {
if (resetElements.isAtLeastSelected(1)) {
// Log out user first if logged in
boolean logout = false;
Set<UserSession> sessions = sessionManager.getAuthenticatedUserSessions();
for (UserSession session : sessions) {
Identity ident = session.getIdentity();
if (ident != null && tobeChangedIdentity.equalsByPersistableKey(ident)) {
sessionManager.signOffAndClear(session);
logout = true;
break;
}
}
// Delete gui prefs
if (resetElements.isSelected(0)) {
PropertyManager pm = PropertyManager.getInstance();
pm.deleteProperties(tobeChangedIdentity, null, null, null, "v2guipreferences");
}
// Reset preferences
if (resetElements.isSelected(1)) {
UserManager um = UserManager.getInstance();
User user = um.loadUserByKey(tobeChangedIdentity.getUser().getKey());
org.olat.core.id.Preferences preferences = user.getPreferences();
preferences.setFontsize(null);
preferences.setNotificationInterval(null);
preferences.setPresenceMessagesPublic(false);
preferences.setReceiveRealMail(null);
um.updateUser(user);
PropertyManager pm = PropertyManager.getInstance();
pm.deleteProperties(tobeChangedIdentity, null, null, null, "charset");
}
// Reset history
if (resetElements.isSelected(2)) {
HistoryManager.getInstance().deleteHistory(tobeChangedIdentity);
}
// reset form buttons
resetElements.uncheckAll();
if (logout) {
// if logout, need a redirect to the login page
String lang = i18nModule.getLocaleKey(ureq.getLocale());
ureq.getDispatchResult().setResultingMediaResource(new RedirectMediaResource(WebappHelper.getServletContextPath() + "/dmz/?lang=" + lang + "&logout=true"));
}
}
}
use of org.olat.core.id.User in project OpenOLAT by OpenOLAT.
the class ShibbolethAttributesTest method shouldRemovePropertyFromSyncedUserIfNotPresentInShibboleth.
@Test
public void shouldRemovePropertyFromSyncedUserIfNotPresentInShibboleth() {
User user = getIdenticalOlatUser();
user.setProperty(USER_CITY_KEY, USER_OLD_VALUE);
when(differenceCheckerMock.isDifferent(SHIB_CITY_KEY, SHIB_CITY_VALUE_NULL, USER_OLD_VALUE)).thenReturn(true);
User syncedUser = sut.syncUser(user);
assertThat(syncedUser.getProperty(USER_CITY_KEY, null)).isEqualTo(SHIB_CITY_VALUE_NULL);
}
Aggregations