diff --git a/java/code/src/com/redhat/rhn/frontend/events/NewUserAction.java b/java/code/src/com/redhat/rhn/frontend/events/NewUserAction.java index 0da7b79453d8..661bc2031488 100644 --- a/java/code/src/com/redhat/rhn/frontend/events/NewUserAction.java +++ b/java/code/src/com/redhat/rhn/frontend/events/NewUserAction.java @@ -28,7 +28,6 @@ import org.apache.logging.log4j.Logger; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -94,14 +93,11 @@ public void execute(EventMessage msg) { private String[] getEmails(NewUserEvent evt) { - List adminList = evt.getAdmins(); - String[] adminEmails = new String[adminList.size()]; - int index = 0; - for (Object oIn : adminList) { - adminEmails[index] = ((User) oIn).getEmail(); - index++; - } - return adminEmails; + return evt.getAdmins().stream() + .filter(u -> !u.isDisabled()) + .filter(u -> u.getEmailNotify() == 1) + .map(User::getEmail) + .toArray(String[]::new); } diff --git a/java/code/src/com/redhat/rhn/frontend/events/NewUserEvent.java b/java/code/src/com/redhat/rhn/frontend/events/NewUserEvent.java index 61df67606c4b..98af43dd1ebf 100644 --- a/java/code/src/com/redhat/rhn/frontend/events/NewUserEvent.java +++ b/java/code/src/com/redhat/rhn/frontend/events/NewUserEvent.java @@ -33,7 +33,7 @@ public class NewUserEvent extends BaseEvent implements EventMessage { private User accountCreator; private String link; private String domain; - private List adminList; + private List adminList; /** * format this message as a string @@ -142,13 +142,13 @@ public void setLink(String passwordIn) { /** * @return Returns the link. */ - public List getAdmins() { + public List getAdmins() { return adminList; } /** * @param admins Admins to set. */ - public void setAdmins(List admins) { + public void setAdmins(List admins) { this.adminList = admins; } diff --git a/java/code/src/com/redhat/rhn/manager/user/CreateUserCommand.java b/java/code/src/com/redhat/rhn/manager/user/CreateUserCommand.java index 9007566e764c..06176834dc21 100644 --- a/java/code/src/com/redhat/rhn/manager/user/CreateUserCommand.java +++ b/java/code/src/com/redhat/rhn/manager/user/CreateUserCommand.java @@ -102,7 +102,7 @@ public ValidatorError[] validate() { * might be encrypted, thus useless for this method */ public void publishNewUserEvent(User accountCreator, - List admins, + List admins, String domain, String password) { NewUserEvent userevt = new NewUserEvent(); diff --git a/java/spacewalk-java.changes.cbbayburt.bsc1214553 b/java/spacewalk-java.changes.cbbayburt.bsc1214553 new file mode 100644 index 000000000000..a1b9293f2fe5 --- /dev/null +++ b/java/spacewalk-java.changes.cbbayburt.bsc1214553 @@ -0,0 +1 @@ +- Respect user email preferences when sending 'user creation' emails (bsc#1214553)