=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageSender.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageSender.java 2012-03-09 11:46:58 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageSender.java 2012-11-14 13:11:10 +0000 @@ -42,6 +42,7 @@ * @param subject the message subject. * @param text the message text. * @param users the users to send the message to. + * @param forceSend force sending the message despite potential user settings. */ - void sendMessage( String subject, String text, User sender, Set users ); + void sendMessage( String subject, String text, User sender, Set users, boolean forceSend ); } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java 2012-11-07 09:08:56 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/DefaultMessageService.java 2012-11-14 13:11:10 +0000 @@ -273,7 +273,7 @@ { for ( MessageSender messageSender : messageSenders ) { - messageSender.sendMessage( subject, text, sender, users ); + messageSender.sendMessage( subject, text, sender, users, false ); } } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/EmailMessageSender.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/EmailMessageSender.java 2012-10-29 20:17:23 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/message/EmailMessageSender.java 2012-11-14 13:11:10 +0000 @@ -89,7 +89,7 @@ */ @Async @Override - public void sendMessage( String subject, String text, User sender, Set users ) + public void sendMessage( String subject, String text, User sender, Set users, boolean forceSend ) { String hostName = StringUtils.trimToNull( (String) systemSettingManager.getSystemSetting( KEY_EMAIL_HOST_NAME ) ); String username = StringUtils.trimToNull( (String) systemSettingManager.getSystemSetting( KEY_EMAIL_USERNAME ) ); @@ -119,8 +119,10 @@ for ( User user : users ) { boolean emailNotification = settings.get( user ) != null && (Boolean) settings.get( user ) == true; + + boolean doSend = forceSend || emailNotification; - if ( emailNotification && user.getEmail() != null && !user.getEmail().trim().isEmpty() ) + if ( doSend && user.getEmail() != null && !user.getEmail().trim().isEmpty() ) { email.addBcc( user.getEmail() ); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java 2012-10-31 05:41:46 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/security/DefaultSecurityService.java 2012-11-14 13:11:10 +0000 @@ -145,8 +145,8 @@ String text1 = new VelocityManager().render( vars, "restore_message1" ); String text2 = new VelocityManager().render( vars, "restore_message2" ); - emailMessageSender.sendMessage( "User account restore confirmation (message 1 of 2)", text1, null, users ); - emailMessageSender.sendMessage( "User account restore confirmation (message 2 of 2)", text2, null, users ); + emailMessageSender.sendMessage( "User account restore confirmation (message 1 of 2)", text1, null, users, true ); + emailMessageSender.sendMessage( "User account restore confirmation (message 2 of 2)", text2, null, users, true ); return true; } === modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/message/MockMessageSender.java' --- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/message/MockMessageSender.java 2011-12-26 10:07:59 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/message/MockMessageSender.java 2012-11-14 13:11:10 +0000 @@ -35,7 +35,7 @@ implements MessageSender { @Override - public void sendMessage( String subject, String text, User sender, Set users ) + public void sendMessage( String subject, String text, User sender, Set users, boolean forceSend ) { // Do nothing }