=== 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-19 06:04:09 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CompleteDataEntryAction.java 2013-07-22 09:24:53 +0000 @@ -105,14 +105,14 @@ { this.format = format; } - + private MessageService messageService; public void setMessageService( MessageService messageService ) { this.messageService = messageService; } - + // ------------------------------------------------------------------------- // Input / Output // ------------------------------------------------------------------------- @@ -193,7 +193,6 @@ programInstance.setStatus( ProgramInstance.STATUS_COMPLETED ); programInstance.setEndDate( new Date() ); - sendSMSToCompletedProgram( programInstance ); programInstanceService.updateProgramInstance( programInstance ); @@ -238,21 +237,7 @@ if ( phoneNumbers.size() > 0 ) { - String msg = reminder.getTemplateMessage(); - - String patientName = patient.getFirstName(); - String organisationunitName = patient.getOrganisationUnit().getName(); - String programName = programStageInstance.getProgramInstance().getProgram().getName(); - String programStageName = programStageInstance.getProgramStage().getName(); - String daysSinceDueDate = DateUtils.daysBetween( new Date(), programStageInstance.getDueDate() ) + ""; - String dueDate = format.formatDate( programStageInstance.getDueDate() ); - - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_PATIENT_NAME, patientName ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_PROGRAM_NAME, programName ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_PROGAM_STAGE_NAME, programStageName ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DUE_DATE, dueDate ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_ORGUNIT_NAME, organisationunitName ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DAYS_SINCE_DUE_DATE, daysSinceDueDate ); + String msg = getStringMsgFromTemplateMsg( reminder, programStageInstance, patient ); try { OutboundSms outboundSms = new OutboundSms(); @@ -279,7 +264,7 @@ { String msg = getStringMsgFromTemplateMsg( reminder, programStageInstance, patient ); String programStageName = programStageInstance.getProgramStage().getName(); - messageService.sendMessage( programStageName, msg, null, reminder.getUserGroup().getMembers(),false, true ); + messageService.sendMessage( programStageName, msg, null, reminder.getUserGroup().getMembers(), false, true ); } } @@ -307,26 +292,7 @@ if ( phoneNumbers.size() > 0 ) { - - String msg = reminder.getTemplateMessage(); - - String patientName = patient.getFirstName(); - String organisationunitName = patient.getOrganisationUnit().getName(); - String programName = programInstance.getProgram().getName(); - String daysSinceEnrollementDate = DateUtils.daysBetween( new Date(), programInstance.getEnrollmentDate() ) - + ""; - String daysSinceIncidentDate = DateUtils.daysBetween( new Date(), programInstance.getDateOfIncident() ) - + ""; - String incidentDate = format.formatDate( programInstance.getDateOfIncident() ); - String erollmentDate = format.formatDate( programInstance.getEnrollmentDate() ); - - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_PATIENT_NAME, patientName ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_PROGRAM_NAME, programName ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_ORGUNIT_NAME, organisationunitName ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_INCIDENT_DATE, incidentDate ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_ENROLLMENT_DATE, erollmentDate ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DAYS_SINCE_ENROLLMENT_DATE, daysSinceEnrollementDate ); - msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DAYS_SINCE_INCIDENT_DATE, daysSinceIncidentDate ); + String msg = getStringMsgFromTemplateMsg( reminder, programInstance, patient ); try { @@ -349,6 +315,12 @@ e.printStackTrace(); } } + else + { + String msg = getStringMsgFromTemplateMsg( reminder, programInstance, patient ); + String programName = programInstance.getProgram().getName(); + messageService.sendMessage( programName, msg, null, reminder.getUserGroup().getMembers(), false, true ); + } } private Set getPhonenumbers( PatientReminder reminder, Patient patient ) @@ -381,18 +353,6 @@ } break; case PatientReminder.SEND_TO_USER_GROUP: - /*UserGroup userGroup = reminder.getUserGroup(); - if ( userGroup != null && userGroup.getMembers().size() > 0 ) - { - Set receivers = new HashSet( userGroup.getMembers() ); - for ( User user : receivers ) - { - if( user.getPhoneNumber() != null && !user.getPhoneNumber().isEmpty() ) - { - phoneNumbers.add( user.getPhoneNumber() ); - } - } - }*/ phoneNumbers.clear(); break; default: @@ -404,8 +364,9 @@ } return phoneNumbers; } - - public String getStringMsgFromTemplateMsg( PatientReminder reminder, ProgramStageInstance programStageInstance, Patient patient ) + + public String getStringMsgFromTemplateMsg( PatientReminder reminder, ProgramStageInstance programStageInstance, + Patient patient ) { String msg = reminder.getTemplateMessage(); @@ -422,7 +383,31 @@ msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DUE_DATE, dueDate ); msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_ORGUNIT_NAME, organisationunitName ); msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DAYS_SINCE_DUE_DATE, daysSinceDueDate ); - + + return msg; + } + + public String getStringMsgFromTemplateMsg( PatientReminder reminder, ProgramInstance programInstance, + Patient patient ) + { + String msg = reminder.getTemplateMessage(); + + String patientName = patient.getFirstName(); + String organisationunitName = patient.getOrganisationUnit().getName(); + String programName = programInstance.getProgram().getName(); + String daysSinceEnrollementDate = DateUtils.daysBetween( new Date(), programInstance.getEnrollmentDate() ) + ""; + String daysSinceIncidentDate = DateUtils.daysBetween( new Date(), programInstance.getDateOfIncident() ) + ""; + String incidentDate = format.formatDate( programInstance.getDateOfIncident() ); + String erollmentDate = format.formatDate( programInstance.getEnrollmentDate() ); + + msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_PATIENT_NAME, patientName ); + msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_PROGRAM_NAME, programName ); + msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_ORGUNIT_NAME, organisationunitName ); + msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_INCIDENT_DATE, incidentDate ); + msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_ENROLLMENT_DATE, erollmentDate ); + msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DAYS_SINCE_ENROLLMENT_DATE, daysSinceEnrollementDate ); + msg = msg.replace( PatientReminder.TEMPLATE_MESSSAGE_DAYS_SINCE_INCIDENT_DATE, daysSinceIncidentDate ); + return msg; } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/GetProgramAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/GetProgramAction.java 2013-05-03 07:36:17 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/GetProgramAction.java 2013-07-22 09:24:53 +0000 @@ -70,7 +70,7 @@ { this.selectionTreeManager = selectionTreeManager; } - + // ------------------------------------------------------------------------- // Input/Output // ------------------------------------------------------------------------- @@ -138,7 +138,7 @@ { return availableOrgunitGroups; } - + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -152,7 +152,7 @@ availableOrgunitGroups.removeAll( program.getOrganisationUnitGroups() ); selectionTreeManager.setSelectedOrganisationUnits( program.getOrganisationUnits() ); - + return SUCCESS; } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/ShowUpdateProgramFormAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/ShowUpdateProgramFormAction.java 2013-07-19 06:04:09 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/ShowUpdateProgramFormAction.java 2013-07-22 09:24:53 +0000 @@ -27,6 +27,7 @@ package org.hisp.dhis.patient.action.program; +import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.List; @@ -39,6 +40,8 @@ import org.hisp.dhis.patient.PatientIdentifierTypeService; import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramService; +import org.hisp.dhis.user.UserGroup; +import org.hisp.dhis.user.UserGroupService; import com.opensymphony.xwork2.Action; @@ -74,6 +77,13 @@ this.patientAttributeService = patientAttributeService; } + private UserGroupService userGroupService; + + public void setUserGroupService( UserGroupService userGroupService ) + { + this.userGroupService = userGroupService; + } + // ------------------------------------------------------------------------- // Input/Output // ------------------------------------------------------------------------- @@ -148,6 +158,13 @@ { return availableAttributes; } + + private List userGroups; + + public List getUserGroups() + { + return userGroups; + } // ------------------------------------------------------------------------- // Action implementation @@ -170,6 +187,8 @@ availableAttributes.removeAll( new HashSet( program.getPatientAttributes() ) ); } + userGroups = new ArrayList( userGroupService.getAllUserGroups() ); + return SUCCESS; } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java 2013-07-19 06:04:09 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java 2013-07-22 09:24:53 +0000 @@ -40,6 +40,8 @@ import org.hisp.dhis.patient.PatientReminder; import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramService; +import org.hisp.dhis.user.UserGroup; +import org.hisp.dhis.user.UserGroupService; import com.opensymphony.xwork2.Action; @@ -74,6 +76,13 @@ { this.patientAttributeService = patientAttributeService; } + + private UserGroupService userGroupService; + + public void setUserGroupService( UserGroupService userGroupService ) + { + this.userGroupService = userGroupService; + } // ------------------------------------------------------------------------- // Input/Output @@ -251,6 +260,13 @@ { this.useBirthDateAsEnrollmentDate = useBirthDateAsEnrollmentDate; } + + private List userGroup = new ArrayList(); + + public void setUserGroup( List userGroup ) + { + this.userGroup = userGroup; + } // ------------------------------------------------------------------------- // Action implementation @@ -334,6 +350,8 @@ reminder.setDateToCompare( datesToCompare.get( i ) ); reminder.setSendTo( sendTo.get( i ) ); reminder.setWhenToSend( whenToSend.get( i ) ); + UserGroup selectedUserGroup = userGroupService.getUserGroup( userGroup.get( i ) ); + reminder.setUserGroup( selectedUserGroup ); patientReminders.add( reminder ); } program.setPatientReminders( patientReminders ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/GetProgramStageAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/GetProgramStageAction.java 2013-07-19 06:04:09 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/GetProgramStageAction.java 2013-07-22 09:24:53 +0000 @@ -118,7 +118,7 @@ programStageDataElements = programStage.getProgramStageDataElements(); - userGroups = new ArrayList(userGroupService.getAllUserGroups()); + userGroups = new ArrayList( userGroupService.getAllUserGroups() ); return SUCCESS; } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml 2013-07-19 06:04:09 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml 2013-07-22 09:24:53 +0000 @@ -229,9 +229,8 @@ ref="org.hisp.dhis.patient.PatientIdentifierTypeService" /> + - - @@ -240,6 +239,8 @@ ref="org.hisp.dhis.patient.PatientIdentifierTypeService" /> + ' + i18n_health_worker + '' + '' + '' + + '' + '' + '' + '/' + '' + + '' + + '' + + program_SMS_reminder_form + + '' + + '/' + + '' + '' + i18n_params + '' + '' + '