diff --git a/src/main/java/org/olat/basesecurity/manager/IdentityDAO.java b/src/main/java/org/olat/basesecurity/manager/IdentityDAO.java index e428dcd1b8b7aeb1013cee271508ab014c7202a9..5362b58c4c4582c3e42550250c1e32f8ea62d7ce 100644 --- a/src/main/java/org/olat/basesecurity/manager/IdentityDAO.java +++ b/src/main/java/org/olat/basesecurity/manager/IdentityDAO.java @@ -37,6 +37,7 @@ import org.olat.basesecurity.model.FindNamedIdentity; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.core.id.User; +import org.olat.core.id.UserConstants; import org.olat.core.logging.AssertException; import org.olat.core.util.StringHelper; import org.springframework.beans.factory.annotation.Autowired; @@ -143,6 +144,11 @@ public class IdentityDAO { && names.contains(user.getInstitutionalEmail().toLowerCase())) { namedIdentity.addName(user.getInstitutionalEmail()); } + + if(StringHelper.containsNonWhitespace(user.getProperty(UserConstants.INSTITUTIONALUSERIDENTIFIER, null)) + && names.contains(user.getProperty(UserConstants.INSTITUTIONALUSERIDENTIFIER, null).toLowerCase())) { + namedIdentity.addName(user.getProperty(UserConstants.INSTITUTIONALUSERIDENTIFIER, null)); + } } public void setIdentityLastLogin(IdentityRef identity, Date lastLogin) { diff --git a/src/main/java/org/olat/course/member/wizard/ImportMemberByUsernamesController.java b/src/main/java/org/olat/course/member/wizard/ImportMemberByUsernamesController.java index c7a5ef0f8da70cc58a395b3d6686e50f9578da12..964d07c3151762816222ea7d8e219d2f731c06da 100644 --- a/src/main/java/org/olat/course/member/wizard/ImportMemberByUsernamesController.java +++ b/src/main/java/org/olat/course/member/wizard/ImportMemberByUsernamesController.java @@ -159,8 +159,9 @@ public class ImportMemberByUsernamesController extends StepFormBasicController { protected void formNext(UserRequest ureq) { String logins = idata.getValue(); if(tableContainer.isVisible()) { - selectDuplicates(); - addToRunContext("keyIdentities", new ArrayList<>(identitiesList)); + List<Identity> all = new ArrayList<>(identitiesList); + all.addAll(selectDuplicates()); + addToRunContext("keyIdentities", all); addToRunContext("notFounds", notFoundNames); fireEvent(ureq, StepsEvent.ACTIVATE_NEXT); } else if(processInput(logins)) { @@ -179,7 +180,7 @@ public class ImportMemberByUsernamesController extends StepFormBasicController { identitiesList = null; } - private void selectDuplicates() { + private List<Identity> selectDuplicates() { List<Identity> selectedIdentities = new ArrayList<>(); for(Integer index:tableEl.getMultiSelectedIndex()) { Identity identity = userTableModel.getObject(index.intValue()); @@ -187,7 +188,7 @@ public class ImportMemberByUsernamesController extends StepFormBasicController { selectedIdentities.add(identity); } } - identitiesList.addAll(selectedIdentities); + return selectedIdentities; } /** diff --git a/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_de.properties index d25ff3f1d33622fd53f7102648cdd7fad28a3618..5a9535e701d3db42a8a6ac3151bc37764b71af12 100644 --- a/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_de.properties @@ -9,6 +9,6 @@ form.addusers=Benutzername, $org.olat.user.propertyhandlers\:table.name.email od table.user.login=$org.olat.group.ui.main\:table.header.login user.notfound=$org.olat.group.ui.main\:user.notfound error.select.role=Sie m\u00FCssen mindestens eine Rolle w\u00E4hlen -warn.duplicates.names=Multiple users have been found that match for the given inputs for "{0}". -warn.duplicates.select=W\u00E4hlen Sie bitte den Benutzer zu hinzuf\u00FCgen. +warn.duplicates.names=Es wurden mehrere Benutzer gefunden, die den genannten Kriterien "{0}" entsprechen. +warn.duplicates.select=W\u00E4hlen Sie bitte den Benutzer aus, der hinzugef\u00FCgt werden soll. diff --git a/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_en.properties index 5b18a187ef2d4cb332ef70b7bb75e35d7c594aea..2d22dbb0f0bdcd145223e8b70b03b266634dfc68 100644 --- a/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/member/wizard/_i18n/LocalStrings_en.properties @@ -9,5 +9,5 @@ import.permission.title=Rights table.user.login=$org.olat.group.ui.main\:table.header.login user.notfound=$org.olat.group.ui.main\:user.notfound error.select.role=You must select a role at least -warn.duplicates.names=Multiple users have been found that match for the given inputs for "{0}". +warn.duplicates.names=Multiple users were found who meet the specified criteria "{0}". warn.duplicates.select=Please select the user to be added.