Skip to content

Commit

Permalink
NXP-30657: do not fetch principal references to retrieve emails
Browse files Browse the repository at this point in the history
  • Loading branch information
guirenard committed Nov 9, 2021
1 parent 6170bf9 commit a8eb309
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public String getVocabularyLabel(String voc, String key) {
}

public NuxeoPrincipal getPrincipal(String username) {
return getUserManager().getPrincipal(username);
return getUserManager().getPrincipal(username, false);
}

protected String getEmail(NuxeoPrincipal principal, String userSchemaName, String userEmailFieldName) {
Expand All @@ -96,9 +96,8 @@ protected String getEmail(NuxeoPrincipal principal, String userSchemaName, Strin
}

public String getEmail(String username) {
UserManager userManager = getUserManager();
return getEmail(userManager.getPrincipal(username), userManager.getUserSchemaName(),
userManager.getUserEmailField());
return getEmail(getPrincipal(username), getUserManager().getUserSchemaName(),
getUserManager().getUserEmailField());
}

public Set<NuxeoPrincipal> getPrincipalsFromGroup(String group) {
Expand Down Expand Up @@ -148,18 +147,17 @@ public StringList getEmails(List<String> usernames, boolean usePrefix) {
if (usernames == null) {
return new StringList(0);
}
UserManager userManager = getUserManager();
StringList result = new StringList(usernames.size());
String schemaName = getUserManager().getUserSchemaName();
String fieldName = getUserManager().getUserEmailField();
for (String username : usernames) {
NuxeoPrincipal principal = null;
if (usePrefix) {
if (username.startsWith(NuxeoPrincipal.PREFIX)) {
principal = userManager.getPrincipal(username.replace(NuxeoPrincipal.PREFIX, ""));
principal = getPrincipal(username.replace(NuxeoPrincipal.PREFIX, ""));
}
} else {
principal = userManager.getPrincipal(username);
principal = getPrincipal(username);
}
if (principal != null) {
String email = getEmail(principal, schemaName, fieldName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public void collectObjectsFromGroup(String groupId, boolean resolveGroups, Colle
userManager.getPrincipal(groupId);
} else {
for (String u : group.getMemberUsers()) {
NuxeoPrincipal principal = userManager.getPrincipal(u);
NuxeoPrincipal principal = userManager.getPrincipal(u, false);
if (principal != null) {
collector.collect(principal);
}
Expand All @@ -126,7 +126,7 @@ public HashSet<?> collectObjectsMatchingPermission(DocumentModel input, String p
NuxeoGroup group = userManager.getGroup(ace.getUsername());
if (group == null) {
// this may be a user
collector.collect(userManager.getPrincipal(ace.getUsername()));
collector.collect(userManager.getPrincipal(ace.getUsername(), false));
} else if (!ignoreGroups) {
if (resolveGroups) {
resolveGroups(group, collector);
Expand Down

0 comments on commit a8eb309

Please sign in to comment.