From eee8469daefac6ab2163626194ed038e5a3e2021 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Mon, 10 Aug 2020 17:20:18 +0200 Subject: [PATCH] OO-4545: check duplicates of institutional identifier, wording --- .../java/org/olat/basesecurity/manager/IdentityDAO.java | 6 ++++++ .../member/wizard/ImportMemberByUsernamesController.java | 9 +++++---- .../member/wizard/_i18n/LocalStrings_de.properties | 4 ++-- .../member/wizard/_i18n/LocalStrings_en.properties | 2 +- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/olat/basesecurity/manager/IdentityDAO.java b/src/main/java/org/olat/basesecurity/manager/IdentityDAO.java index e428dcd1b8b..5362b58c4c4 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 c7a5ef0f8da..964d07c3151 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 d25ff3f1d33..5a9535e701d 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 5b18a187ef2..2d22dbb0f0b 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. -- GitLab