Changeset 4142
- Timestamp:
- 05/08/08 16:37:10 (8 months ago)
- Files:
-
- openmrs-modules/ChildVCTReportModule/.classpath (modified) (1 diff)
- openmrs-modules/ChildVCTReportModule/dist (modified) (1 prop)
- openmrs-modules/ChildVCTReportModule/lib-common/openmrs-api-1.2.04.4131.jar (added)
- openmrs-modules/ChildVCTReportModule/lib-common/web-openmrs-api-1.2.04.4131.jar (added)
- openmrs-modules/ChildVCTReportModule/metadata/config.xml (modified) (3 diffs)
- openmrs-modules/ChildVCTReportModule/src/org/openmrs/module/childvctreportmodule/ChildVCTReport.java (modified) (2 diffs)
- openmrs-modules/ChildVCTReportModule/src/org/openmrs/module/childvctreportmodule/ChildVCTReportConstants.java (added)
- openmrs-modules/ChildVCTReportModule/src/org/openmrs/module/childvctreportmodule/ChildVCTReportModuleActivator.java (modified) (2 diffs)
- openmrs-modules/ChildVCTReportModule/src/org/openmrs/module/childvctreportmodule/ReportEmailTask.java (added)
- openmrs-modules/ChildVCTReportModule/web/module/childvctreportmoduleSettingsForm.jsp (modified) (1 diff)
- openmrs-modules/ChildVCTReportModule/web/src/org/openmrs/module/childvctreportmodule/web/controller/ChildVCTReportModuleFormController.java (modified) (1 diff)
- openmrs-modules/ChildVCTReportModule/web/src/org/openmrs/module/childvctreportmodule/web/controller/ChildVCTReportModuleManualFormController.java (modified) (1 diff)
- openmrs-modules/ChildVCTReportModule/web/src/org/openmrs/module/childvctreportmodule/web/controller/ChildVCTReportModuleSettingsFormController.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/ChildVCTReportModule/.classpath
r4035 r4142 6 6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 7 7 <classpathentry kind="lib" path="metadata"/> 8 9 <!-- Uncomment this line to be able to recognize omods placed in here for junit testing -->10 <!-- <classpathentry kind="lib" path="dist"/> -->11 12 8 <classpathentry kind="lib" path="lib-common/junit-3.8.1.jar"/> 13 <classpathentry kind="lib" path="lib-common/openmrs-api-1.2.0.3409.jar"/>14 <classpathentry kind="lib" path="lib-common/web-openmrs-api-1.2.0.3530.jar"/>15 9 <classpathentry kind="lib" path="lib-common/commons-logging-1.0.4.jar"/> 16 10 <classpathentry kind="lib" path="lib-common/spring-2.0.jar"/> 17 11 <classpathentry kind="lib" path="lib-common/servlet-api.jar"/> 18 12 <classpathentry kind="lib" path="lib-common/hibernate3.jar"/> 19 13 <classpathentry kind="lib" path="lib-common/openmrs-api-1.2.04.4131.jar" sourcepath="/openmrs-sync/src"/> 14 <classpathentry kind="lib" path="lib-common/web-openmrs-api-1.2.04.4131.jar"/> 20 15 <classpathentry kind="output" path="build"/> 21 16 </classpath> openmrs-modules/ChildVCTReportModule/dist
- Property svn:ignore set to
childvctreportmodule-1.0.omod
childvctreportmodule-1.1.omod
- Property svn:ignore set to
openmrs-modules/ChildVCTReportModule/metadata/config.xml
r4050 r4142 7 7 <id>childvctreportmodule</id> 8 8 <name>Child VCT Report Module</name> 9 <version>1. 0</version>9 <version>1.1</version> 10 10 <package>org.openmrs.module.@MODULE_ID@</package> 11 11 <author>Chase Yarbrough</author> … … 19 19 <!-- /Child VCT Report Module Properties --> 20 20 21 <require_version>1.2.0 .3872</require_version>21 <require_version>1.2.04.4132</require_version> 22 22 23 23 <!-- Extensions --> … … 45 45 <globalProperty> 46 46 <property>@MODULE_ID@.weeklySummary.emailTo</property> 47 <defaultValue> </defaultValue>47 <defaultValue>vergil@gmail.com</defaultValue> 48 48 <description> 49 49 The weekly summary is emailed to this address. openmrs-modules/ChildVCTReportModule/src/org/openmrs/module/childvctreportmodule/ChildVCTReport.java
r4050 r4142 39 39 * @throws IOException 40 40 */ 41 public void generateCSV(ServletOutputStream out) throws IOException{ 42 generateTitleRow(out); 41 public String generateCSV() throws IOException{ 42 String titleRow = generateTitleRow(); 43 String otherRows = ""; 43 44 for(ChildVCTReportItem reportItem : itemList) 44 generateDataRow(reportItem, out); 45 otherRows+=generateDataRow(reportItem) + "\r\n"; 46 return titleRow + "\r\n" + otherRows; 45 47 } 46 48 47 private void generateDataRow(ChildVCTReportItem reportItem, ServletOutputStream out) throws IOException{49 private String generateDataRow(ChildVCTReportItem reportItem) throws IOException{ 48 50 String dataRow = ""; 49 51 for(String column : reportItem.getReportColumns()) 50 52 dataRow+=column + ","; 51 out.println(dataRow);53 return dataRow; 52 54 } 53 55 54 private void generateTitleRow(ServletOutputStream out) throws IOException {56 private String generateTitleRow() throws IOException { 55 57 String headerRow = ""; 56 58 for(String columnName : ChildVCTReportItem.REPORT_COLUMNS_NAMES) 57 59 headerRow+=columnName + ","; 58 out.println(headerRow);60 return headerRow; 59 61 } 60 62 … … 82 84 return itemList.isEmpty(); 83 85 } 86 87 public int length() { 88 return itemList.size(); 89 } 84 90 85 91 private ArrayList<ChildVCTReportItem> itemList; 92 86 93 87 94 } openmrs-modules/ChildVCTReportModule/src/org/openmrs/module/childvctreportmodule/ChildVCTReportModuleActivator.java
r4035 r4142 26 26 private Log log = LogFactory.getLog(this.getClass()); 27 27 28 28 29 /** 29 30 * @see org.openmrs.module.Activator#startup() … … 31 32 public void startup() { 32 33 log.info("Starting Basic Module"); 34 33 35 } 34 36 openmrs-modules/ChildVCTReportModule/web/module/childvctreportmoduleSettingsForm.jsp
r4050 r4142 5 5 <h2>Automatic Weekly Report Settings</h2> 6 6 <br/> 7 <openmrs:portlet url="globalProperties" parameters="title=${title}|propertyPrefix=childvctreportmodule.|excludePrefix=formimportexport.started|hidePrefix=true"/> 7 <openmrs:portlet url="globalProperties" parameters="title=${title}|propertyPrefix=mail.|hidePrefix=false"/> 8 <openmrs:portlet url="globalProperties" parameters="title=${title}|propertyPrefix=childvctreportmodule.|excludePrefix=childvctreportmodule.started|hidePrefix=false"/> 8 9 10 <form method="post"> 11 Select day and time for weekly email: <br> 12 <select name="day"> 13 <option value="Sunday">Sunday</option> 14 <option value="Monday">Monday</option> 15 <option value="Tuesday">Tuesday</option> 16 <option value="Wednesday">Wednesday</option> 17 <option value="Thursday">Thursday</option> 18 <option value="Friday">Friday</option> 19 <option value="Saturday">Saturday</option> 20 </select> 21 <select name="time"> 22 <option value="0">12:00am</option> 23 <option value="1">1:00am</option> 24 <option value="2">2:00am</option> 25 <option value="3">3:00am</option> 26 <option value="4">4:00am</option> 27 <option value="5">5:00am</option> 28 <option value="6">6:00am</option> 29 <option value="7">7:00am</option> 30 <option value="8">8:00am</option> 31 <option value="9">9:00am</option> 32 <option value="10">10:00am</option> 33 <option value="11">11:00am</option> 34 <option value="12">12:00pm</option> 35 <option value="13">1:00pm</option> 36 <option value="14">2:00pm</option> 37 <option value="15">3:00pm</option> 38 <option value="16">4:00pm</option> 39 <option value="17">5:00pm</option> 40 <option value="18">6:00pm</option> 41 <option value="19">7:00pm</option> 42 <option value="20">8:00pm</option> 43 <option value="21">9:00pm</option> 44 <option value="22">10:00pm</option> 45 <option value="23">11:00pm</option> 46 </select> 47 <input type="submit" value="submit"> 48 </form> 9 49 <%@ include file="/WEB-INF/template/footer.jsp"%> openmrs-modules/ChildVCTReportModule/web/src/org/openmrs/module/childvctreportmodule/web/controller/ChildVCTReportModuleFormController.java
r4050 r4142 75 75 ServletOutputStream out = response.getOutputStream(); 76 76 77 report.generateCSV(out);77 out.print(report.generateCSV()); 78 78 79 79 return new ModelAndView(new RedirectView(getSuccessView())); openmrs-modules/ChildVCTReportModule/web/src/org/openmrs/module/childvctreportmodule/web/controller/ChildVCTReportModuleManualFormController.java
r4050 r4142 64 64 response.setHeader("Content-Disposition", "attachment; filename=" + filename); 65 65 ServletOutputStream out = response.getOutputStream(); 66 report.generateCSV(out); 66 String reportAsString = report.generateCSV(); 67 out.print(reportAsString); 67 68 } 68 69 openmrs-modules/ChildVCTReportModule/web/src/org/openmrs/module/childvctreportmodule/web/controller/ChildVCTReportModuleSettingsFormController.java
r4050 r4142 8 8 import java.util.Map; 9 9 10 import javax.servlet.ServletOutputStream;11 10 import javax.servlet.http.HttpServletRequest; 12 11 import javax.servlet.http.HttpServletResponse; … … 14 13 import org.openmrs.Patient; 15 14 import org.openmrs.api.context.Context; 16 import org.openmrs.module.childvctreportmodule.ChildVCTReport; 17 import org.openmrs.module.childvctreportmodule.ChildVCTReportModuleService; 15 import org.openmrs.module.childvctreportmodule.ChildVCTReportConstants; 16 import org.openmrs.scheduler.SchedulerException; 17 import org.openmrs.scheduler.TaskDefinition; 18 18 import org.springframework.validation.BindException; 19 19 import org.springframework.validation.Errors; … … 43 43 @Override 44 44 protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object object, BindException exceptions) throws Exception { 45 response.getOutputStream().println("success"); 45 String day = request.getParameter("day"); 46 String time = request.getParameter("time"); 47 48 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd.H"); 49 50 Date date = dateFormat.parse("2008.04.20." + time); 51 52 if(day.equals("Sunday")) 53 date = dateFormat.parse("2008.04.20." + time); 54 else if(day.equals("Monday")) 55 date = dateFormat.parse("2008.04.21." + time); 56 else if(day.equals("Tuesday")) 57 date = dateFormat.parse("2008.04.22." + time); 58 else if(day.equals("Wednesday")) 59 date = dateFormat.parse("2008.04.23." + time); 60 else if(day.equals("Thursday")) 61 date = dateFormat.parse("2008.04.24." + time); 62 else if(day.equals("Friday")) 63 date = dateFormat.parse("2008.04.25." + time); 64 else if(day.equals("Saturday")) 65 date = dateFormat.parse("2008.04.26." + time); 66 67 Collection<TaskDefinition> tasks = Context.getSchedulerService().getRegisteredTasks(); 68 for(TaskDefinition task : tasks){ 69 if(task.getTaskClass().equals(ChildVCTReportConstants.SCHEDULABLE_CLASS_NAME)) 70 Context.getSchedulerService().deleteTask(task.getId()); 71 } 72 73 TaskDefinition reportEmailTaskConfig = new TaskDefinition(); 74 75 reportEmailTaskConfig.setName("Child VCT weekly Email report"); 76 reportEmailTaskConfig.setDescription("Sends a weekly email with the Child VCT Report."); 77 reportEmailTaskConfig.setRepeatInterval(ChildVCTReportConstants.REPEAT_INTERVAL_SECONDS); 78 reportEmailTaskConfig.setStartTime(date); 79 reportEmailTaskConfig.setTaskClass(ChildVCTReportConstants.SCHEDULABLE_CLASS_NAME); 80 reportEmailTaskConfig.setStarted(true); 81 reportEmailTaskConfig.setStartOnStartup(true); 82 83 Context.getSchedulerService().saveTask(reportEmailTaskConfig); 84 try { 85 Context.getSchedulerService().scheduleTask(reportEmailTaskConfig); 86 } catch (SchedulerException e) { 87 e.printStackTrace(); 88 } 46 89 return new ModelAndView(new RedirectView(getSuccessView())); 47 90 }