From d34399700d10857667913ed9f61093a273c70017 Mon Sep 17 00:00:00 2001 From: Peter Balcirak Date: Mon, 10 May 2021 13:18:16 +0200 Subject: [PATCH] Fix Erasmus username generating - Generating accepted null lastName and included it into username. - Now it does not inlcude it. If the first or last name are null they are excluded. --- ...def_def_login_namespace_erasmus_username.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/perun-core/src/main/java/cz/metacentrum/perun/core/impl/modules/attributes/urn_perun_user_attribute_def_def_login_namespace_erasmus_username.java b/perun-core/src/main/java/cz/metacentrum/perun/core/impl/modules/attributes/urn_perun_user_attribute_def_def_login_namespace_erasmus_username.java index b23ccb8331..7ef212adca 100644 --- a/perun-core/src/main/java/cz/metacentrum/perun/core/impl/modules/attributes/urn_perun_user_attribute_def_def_login_namespace_erasmus_username.java +++ b/perun-core/src/main/java/cz/metacentrum/perun/core/impl/modules/attributes/urn_perun_user_attribute_def_def_login_namespace_erasmus_username.java @@ -76,12 +76,20 @@ private String generateLoginBase(User user) { ModulesUtilsBlImpl.LoginGenerator generator = new ModulesUtilsBlImpl.LoginGenerator(); return generator.generateLogin(user, (firstName, lastName) -> { - // unable to fill login for users without name or with partial name - if ((firstName == null || firstName.isEmpty()) && (lastName == null || lastName.isEmpty())) { - return "erasmus-user"; + //default login + String login = "erasmus-user"; + + boolean firstNameFilled = firstName != null && !firstName.isEmpty(); + boolean lastNameFilled = lastName != null && !lastName.isEmpty(); + + if (firstNameFilled && lastNameFilled) { + login = firstName+ "-" + lastName; + } else if (firstNameFilled) { + login = firstName; + } else if (lastNameFilled) { + login = lastName; } - String login = firstName+ "-" + lastName; if (login.length()>16) { login = login.substring(0, 16); }