=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/scheduling/SendScheduledMessageTask.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/scheduling/SendScheduledMessageTask.java 2013-05-21 09:12:58 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/scheduling/SendScheduledMessageTask.java 2013-07-24 07:03:54 +0000 @@ -200,7 +200,7 @@ notifier.notify( taskId, "Start to prepare reminder messages for enrollements" ); Collection schedulingProgramObjects = programInstanceService.getSendMesssageEvents(); - + for ( SchedulingProgramObject schedulingProgramObject : schedulingProgramObjects ) { String message = schedulingProgramObject.getMessage(); === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-07-23 04:16:21 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-07-24 07:03:54 +0000 @@ -400,6 +400,8 @@ sql += " UNION ( " + sendMessageToOrgunitRegisteredSql() + " ) "; sql += " UNION ( " + sendMessageToUsersSql() + " ) "; + + sql += " UNION ( " + sendMessageToUserGroupsSql() + " ) "; SqlRowSet rs = jdbcTemplate.queryForRowSet( sql ); @@ -2492,4 +2494,37 @@ + " and ( DATE(now()) - DATE(psi.duedate) ) = prm.daysallowedsendmessage " + " and prm.whentosend is null and prm.sendto = " + PatientReminder.SEND_TO_ALL_USERS_IN_ORGUGNIT_REGISTERED; } + + private String sendMessageToUserGroupsSql() + { + return "select psi.programstageinstanceid, uif.phonenumber,prm.templatemessage, p.firstname, p.middlename, p.lastname, org.name as orgunitName ," + + " pg.name as programName, ps.name as programStageName, psi.duedate, " + + "(DATE(now()) - DATE(psi.duedate) ) as days_since_due_date " + + " from patient p INNER JOIN programinstance pi " + + " ON p.patientid=pi.patientid " + + " INNER JOIN programstageinstance psi " + + " ON psi.programinstanceid=pi.programinstanceid " + + " INNER JOIN program pg " + + " ON pg.programid=pi.programid " + + " INNER JOIN programstage ps " + + " ON ps.programstageid=psi.programstageid " + + " INNER JOIN patientreminder prm " + + " ON prm.programstageid = ps.programstageid " + + " INNER JOIN organisationunit org " + + " ON org.organisationunitid = p.organisationunitid " + + " INNER JOIN usergroupmembers ugm " + + " ON ugm.usergroupid = prm.usergroupid " + + " INNER JOIN userinfo uif " + + " ON uif.userinfoid = ugm.userid " + + " WHERE pi.status= " + + ProgramInstance.STATUS_ACTIVE + + " and uif.phonenumber is not NULL and uif.phonenumber != '' " + + " and prm.templatemessage is not NULL and prm.templatemessage != '' " + + " and pg.type=1 and prm.daysallowedsendmessage is not null " + + " and psi.executiondate is not null " + + " and ( DATE(now()) - DATE(psi.duedate) ) = prm.daysallowedsendmessage " + + " and prm.whentosend is null " + //+ " and prm.whentosend = " + PatientReminder.SEND_WHEN_TO_EMROLLEMENT + + " and prm.sendto = " + PatientReminder.SEND_TO_USER_GROUP; + } } === modified file 'dhis-2/dhis-services/dhis-service-sms/src/main/java/org/hisp/dhis/sms/parse/DefaultParserManager.java' --- dhis-2/dhis-services/dhis-service-sms/src/main/java/org/hisp/dhis/sms/parse/DefaultParserManager.java 2013-07-19 06:04:09 +0000 +++ dhis-2/dhis-services/dhis-service-sms/src/main/java/org/hisp/dhis/sms/parse/DefaultParserManager.java 2013-07-24 07:03:54 +0000 @@ -402,7 +402,7 @@ { Set receivers = new HashSet( userGroup.getMembers() ); - UserCredentials anonymousUser = userService.getUserCredentialsByUsername( "c" ); + UserCredentials anonymousUser = userService.getUserCredentialsByUsername( ANONYMOUS_USER_NAME ); MessageConversation conversation = new MessageConversation( command.getName(), anonymousUser.getUser() ); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CompleteDataEntryAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CompleteDataEntryAction.java 2013-07-23 02:52:29 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CompleteDataEntryAction.java 2013-07-24 07:03:54 +0000 @@ -222,7 +222,7 @@ Collection reminders = programStageInstance.getProgramStage().getPatientReminders(); for ( PatientReminder rm : reminders ) { - if ( rm != null && rm.getWhenToSend() == PatientReminder.SEND_WHEN_TO_C0MPLETED_EVENT ) + if ( rm != null && rm.getWhenToSend() != null && rm.getWhenToSend() == PatientReminder.SEND_WHEN_TO_C0MPLETED_EVENT ) { sendEventMessage( rm, programStageInstance, patient ); } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramForm.vm 2013-07-22 09:24:53 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramForm.vm 2013-07-24 07:03:54 +0000 @@ -320,8 +320,8 @@