Skip to content

Commit

Permalink
[BACKLOG-39712][BACKLOG-39726][BACKLOG-39709] - Allow the data to be …
Browse files Browse the repository at this point in the history
…sorted on the server and client side. Provide ability to use only comma or semi colon when constructing email and group list
  • Loading branch information
rmansoor committed Jan 24, 2024
1 parent 7d098a3 commit f1957c5
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 24 deletions.
50 changes: 27 additions & 23 deletions core/src/main/java/org/pentaho/platform/util/ActionUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -437,39 +437,43 @@ public static void sendEmail( Map<String, Object> actionParams, Map<String, Seri
return;
}

if ( filePath != null ) {
addAttachment( actionParams, params, filePath, emailer );
if (filePath != null) {
addAttachment(actionParams, params, filePath, emailer);
}

String to = (String) actionParams.get( "_SCH_EMAIL_TO" );
String cc = (String) actionParams.get( "_SCH_EMAIL_CC" );
String bcc = (String) actionParams.get( "_SCH_EMAIL_BCC" );
if ( ( to == null || "".equals( to ) ) && ( cc == null || "".equals( cc ) )
&& ( bcc == null || "".equals( bcc ) ) ) {
String to = (String) actionParams.get("_SCH_EMAIL_TO");
String cc = (String) actionParams.get("_SCH_EMAIL_CC");
String bcc = (String) actionParams.get("_SCH_EMAIL_BCC");
if ((to == null || "".equals(to)) && (cc == null || "".equals(cc))
&& (bcc == null || "".equals(bcc))) {
// no destination
return;
}
IEmailGroupResolver emailGroupResolver = PentahoSystem.get( IEmailGroupResolver.class );
IEmailGroupResolver emailGroupResolver = PentahoSystem.get(IEmailGroupResolver.class);

if ( emailGroupResolver == null ) {
if (emailGroupResolver == null) {
emailGroupResolver = new DefaultEmailGroupResolver();
}

emailer.setTo( emailGroupResolver.resolve(to) );
emailer.setCc( emailGroupResolver.resolve(cc) );
emailer.setBcc( emailGroupResolver.resolve(bcc) );

String subject = (String) actionParams.get( "_SCH_EMAIL_SUBJECT" );
if ( subject != null && !"".equals( subject ) ) {
emailer.setSubject( subject );
String resolveToList = emailGroupResolver.resolve(to);
if (resolveToList != null && resolveToList.length() > 0) {
emailer.setTo(emailGroupResolver.resolve(to));
emailer.setCc(emailGroupResolver.resolve(cc));
emailer.setBcc(emailGroupResolver.resolve(bcc));

String subject = (String) actionParams.get("_SCH_EMAIL_SUBJECT");
if (subject != null && !"".equals(subject)) {
emailer.setSubject(subject);
} else {
emailer.setSubject("Pentaho Scheduler" + (emailer.getAttachmentName() != null ? " : " + emailer.getAttachmentName() : ""));
}
String message = (String) actionParams.get("_SCH_EMAIL_MESSAGE");
if (subject != null && !"".equals(subject)) {
emailer.setBody(message);
}
emailer.send();
} else {
emailer.setSubject( "Pentaho Scheduler" + ( emailer.getAttachmentName() != null ? " : " + emailer.getAttachmentName() : "" ) );
}
String message = (String) actionParams.get( "_SCH_EMAIL_MESSAGE" );
if ( subject != null && !"".equals( subject ) ) {
emailer.setBody( message );
logger.error(Messages.getInstance().getErrorString("ActionUtil.ERROR_0001_INVALID_EMAIL_LIST"));
}
emailer.send();
} catch ( Exception e ) {
logger.warn( e.getMessage(), e );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,4 @@ VersionCheck.NO_RESULT_MESSAGE=Version Check Error: No Results Available
ActionUtil.ERROR_0001_REQUIRED_PARAM_MISSING=Property "{0}" or "{1}" must be set in the action data map
ActionUtil.ERROR_0002_FAILED_TO_CREATE_ACTION=Failed to create an instance of action "{0}"
ActionUtil.ERROR_0003_ACTION_WRONG_TYPE=class {0} must be an instance of "{1}"

ActionUtil.ERROR_0001_INVALID_EMAIL_LIST=Unable to send email. The list of the recipients is invalid

0 comments on commit f1957c5

Please sign in to comment.