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); }