Changeset 2352
- Timestamp:
- 09/26/07 13:29:23 (1 year ago)
- Files:
-
- openmrs-modules/form2program/metadata/Form2ProgramMap.hbm.xml (modified) (1 diff)
- openmrs-modules/form2program/metadata/messages.properties (modified) (2 diffs)
- openmrs-modules/form2program/metadata/moduleApplicationContext.xml (modified) (2 diffs)
- openmrs-modules/form2program/metadata/sqldiff.xml (modified) (1 diff)
- openmrs-modules/form2program/src/org/openmrs/module/form2program/Form2ProgramMap.java (modified) (5 diffs)
- openmrs-modules/form2program/src/org/openmrs/module/form2program/Form2ProgramService.java (modified) (3 diffs)
- openmrs-modules/form2program/src/org/openmrs/module/form2program/advice/EncounterCreatedAfterAdvice.java (modified) (2 diffs)
- openmrs-modules/form2program/src/org/openmrs/module/form2program/db/Form2ProgramDAO.java (modified) (3 diffs)
- openmrs-modules/form2program/src/org/openmrs/module/form2program/db/hibernate/HibernateForm2ProgramDAO.java (modified) (6 diffs)
- openmrs-modules/form2program/src/org/openmrs/module/form2program/extension/html/AdminList.java (modified) (1 diff)
- openmrs-modules/form2program/src/org/openmrs/module/form2program/impl/Form2ProgramServiceImpl.java (modified) (3 diffs)
- openmrs-modules/form2program/web/module/form2ProgramForm.jsp (modified) (3 diffs)
- openmrs-modules/form2program/web/module/form2ProgramList.jsp (deleted)
- openmrs-modules/form2program/web/src/org/openmrs/module/form2program/web/controller/Form2ProgramFormController.java (modified) (4 diffs)
- openmrs-modules/form2program/web/src/org/openmrs/module/form2program/web/controller/Form2ProgramListController.java (deleted)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/form2program/metadata/Form2ProgramMap.hbm.xml
r2306 r2352 13 13 </composite-id> 14 14 15 <many-to-one name="creator" class="org.openmrs.User" column="creator"not-null="true"/>15 <many-to-one name="creator" class="org.openmrs.User" not-null="true"/> 16 16 <property name="dateCreated" type="java.util.Date" column="date_created" not-null="true" /> 17 17 <many-to-one name="changedBy" class="org.openmrs.User" column="changed_by" not-null="true"/> 18 18 <property name="dateChanged" type="java.util.Date" column="date_changed" not-null="true" /> 19 <property name="applied" type="java.lang.Boolean" not-null="true" length="1"/> 19 20 20 21 </class> openmrs-modules/form2program/metadata/messages.properties
r2306 r2352 1 1 form2program.title=Form2Program 2 2 form2program.add=Add Encounter Type to Program 3 form2program.remove=Remove Encounter Type from Program 3 4 form2program.list.title=Encounter Types to Programs 4 5 form2program.form.title=Manage Encounter Types to Programs … … 9 10 form2program.error.alreadyExists=Encounter Type already enrolls to this Program 10 11 form2program.error.notExists=Encounter Type does not enroll to this Program 12 form2program.needUpdate=Patients with this encounter type need to be enrolled. Please 'Update' the database. 13 form2program.delete.confirm=Delete Encounter Type from Program? 14 form2program.update.confirm=Update Program enrollment? This might take some time. openmrs-modules/form2program/metadata/moduleApplicationContext.xml
r2306 r2352 9 9 <property name="mappings"> 10 10 <props> 11 <prop key="module/@MODULE_ID@/form2Program.list">form2ProgramList</prop>12 11 <prop key="module/@MODULE_ID@/form2Program.form">form2ProgramForm</prop> 13 12 </props> … … 45 44 <!-- Controllers --> 46 45 47 <bean id="form2ProgramList" class="@MODULE_PACKAGE@.web.controller.Form2ProgramListController">48 <property name="commandName"><value>form2program</value></property>49 <property name="formView"><value>/module/@MODULE_ID@/form2ProgramList</value></property>50 <property name="successView"><value>form2Program.list</value></property>51 </bean>52 46 <bean id="form2ProgramForm" class="@MODULE_PACKAGE@.web.controller.Form2ProgramFormController"> 53 47 <property name="commandName"><value>form2program</value></property> openmrs-modules/form2program/metadata/sqldiff.xml
r2306 r2352 29 29 `changed_by` int(11) NOT NULL, 30 30 `date_changed` datetime NOT NULL, 31 `applied` tinyint(1) NOT NULL DEFAULT '0', 31 32 PRIMARY KEY (`program`,`encounter_type`), 32 33 KEY `encounter_type` (`encounter_type`), openmrs-modules/form2program/src/org/openmrs/module/form2program/Form2ProgramMap.java
r2306 r2352 10 10 11 11 12 public class Form2ProgramMap implements java.io.Serializable {12 public class Form2ProgramMap implements java.io.Serializable, Comparable<Form2ProgramMap> { 13 13 14 14 public static final Log log = LogFactory.getLog(Form2ProgramMap.class); … … 22 22 private User changedBy; 23 23 private Date dateChanged; 24 private Boolean applied = false; 24 25 25 26 public Form2ProgramMap( ) { } … … 48 49 this.dateChanged = dateCreated; 49 50 } 50 51 52 public Form2ProgramMap(Program program, EncounterType encounterType, Boolean applied, User creator, java.util.Date dateCreated){ 53 this.program = program; 54 this.encounterType = encounterType; 55 this.applied = applied; 56 this.creator = creator; 57 this.changedBy = creator; 58 this.dateCreated = dateCreated; 59 this.dateChanged = dateCreated; 60 } 61 51 62 /** 52 63 * Compares two objects for similarity … … 66 77 } 67 78 return false; 79 } 80 81 public int compareTo(Form2ProgramMap f) { 82 return (this.encounterType.getName()).compareTo(f.encounterType.getName()); 68 83 } 69 84 … … 127 142 } 128 143 144 public void setApplied(Boolean applied) { 145 this.applied = applied; 146 } 147 148 public Boolean getApplied( ) { 149 return this.applied; 150 } 151 152 public Boolean isApplied( ) { 153 return this.applied; 154 } 155 129 156 } openmrs-modules/form2program/src/org/openmrs/module/form2program/Form2ProgramService.java
r2306 r2352 1 1 package org.openmrs.module.form2program; 2 2 3 import java.util.Date; 3 4 import java.util.List; 4 5 … … 6 7 import org.openmrs.Patient; 7 8 import org.openmrs.Program; 9 import org.openmrs.User; 8 10 import org.openmrs.module.form2program.db.Form2ProgramDAO; 9 11 import org.springframework.transaction.annotation.Transactional; … … 37 39 public void setPatientProgram(Patient patient); 38 40 41 public int applyForm2ProgramMap(Program program, User user, Date day); 42 43 public int applyForm2ProgramMap(Program program, EncounterType encounterType, User user, Date day); 44 45 public List<Program> getPrograms( ); 46 47 public List<EncounterType> getEncounterTypes(Program program); 48 49 public boolean isApplied(Program program, EncounterType encounterType); 50 51 39 52 } openmrs-modules/form2program/src/org/openmrs/module/form2program/advice/EncounterCreatedAfterAdvice.java
r2306 r2352 31 31 32 32 public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable { 33 log.error("Method: " + method.getName() + ". After advice called " + (++count) + " time(s) now.");33 // log.debug("Method: " + method.getName() + ". After advice called " + (++count) + " time(s) now."); 34 34 if (method.getName().endsWith("encounterCreated")) { 35 log.error("METHOD: " + method.getName());36 log.error("PARAMETER_TYPE: " + method.getParameterTypes().getClass().getName().toString());37 //log. error("RETURN: " + returnValue.toString());35 //log.debug("METHOD: " + method.getName()); 36 //log.debug("PARAMETER_TYPE: " + method.getParameterTypes().getClass().getName().toString()); 37 //log.debug("RETURN: " + returnValue.toString()); 38 38 for (int i = 0; i < args.length; i++) { 39 log.error("ARGS[" + i + "]: " + args[i].toString());39 //log.debug("ARGS[" + i + "]: " + args[i].toString()); 40 40 } 41 Form2ProgramService f2pService = this.getForm2ProgramService(); 41 42 //log.error("TARGET: " + target.toString()); 42 43 java.util.Date today = new java.util.Date(); … … 48 49 for (Form2ProgramMap fpm : form2ProgramMaps) { 49 50 // TODO: Check HibernateProgramWorkflowDAO fromDate and toDate to make sure they are not reversed. 50 if (!this.getProgramWorkflowService().isInProgram(patient, fpm.getProgram(), today, null)) { 51 this.getProgramWorkflowService().enrollPatientInProgram(patient, fpm.getProgram(), today, null); 51 if (f2pService.existsForm2ProgramMap(fpm.getProgram(), encounterType)) 52 if (!this.getProgramWorkflowService().isInProgram(patient, fpm.getProgram(), today, null)) { 53 this.getProgramWorkflowService().enrollPatientInProgram(patient, fpm.getProgram(), today, null); 52 54 } 53 55 } openmrs-modules/form2program/src/org/openmrs/module/form2program/db/Form2ProgramDAO.java
r2306 r2352 1 1 package org.openmrs.module.form2program.db; 2 2 3 import java.util.Date; 3 4 import java.util.List; 4 5 … … 6 7 import org.openmrs.EncounterType; 7 8 import org.openmrs.Program; 9 import org.openmrs.User; 8 10 import org.openmrs.module.form2program.Form2ProgramMap; 9 11 … … 27 29 public List<Form2ProgramMap> getForm2ProgramMap(Program program, EncounterType encounterType); 28 30 31 public int applyForm2ProgramMap(Program program, User user, Date day); 32 33 public int applyForm2ProgramMap(Program program, EncounterType encounterType, User user, Date day); 34 35 public boolean isApplied(Program program, EncounterType encounterType); 36 37 public List<Program> getPrograms( ); 38 39 public List<EncounterType> getEncounterTypes(Program program); 29 40 } openmrs-modules/form2program/src/org/openmrs/module/form2program/db/hibernate/HibernateForm2ProgramDAO.java
r2306 r2352 1 1 package org.openmrs.module.form2program.db.hibernate; 2 2 3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 3 5 import java.util.ArrayList; 4 6 import java.util.List; … … 7 9 import org.apache.commons.logging.LogFactory; 8 10 import org.hibernate.Criteria; 11 import org.hibernate.Query; 9 12 import org.hibernate.SessionFactory; 10 13 import org.hibernate.criterion.Expression; 11 14 import org.hibernate.criterion.Order; 15 import org.hibernate.criterion.Projections; 12 16 import org.openmrs.EncounterType; 13 17 import org.openmrs.Program; 18 import org.openmrs.User; 14 19 import org.openmrs.module.form2program.Form2ProgramMap; 15 20 import org.openmrs.module.form2program.db.Form2ProgramDAO; … … 18 23 19 24 protected final Log log = LogFactory.getLog(getClass()); 25 private DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 20 26 21 27 /** … … 52 58 public List<Form2ProgramMap> getForm2ProgramMaps( ) { 53 59 Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Form2ProgramMap.class, "f"); 54 // criteria.createAlias("encounterType", "e");55 60 criteria.addOrder(Order.asc("f.program")); 56 61 criteria.addOrder(Order.asc("f.encounterType")); 57 // criteria.addOrder(Order.asc("e.name")); 58 List<Form2ProgramMap> form2programs = new ArrayList<Form2ProgramMap>(); 59 form2programs.addAll(criteria.list()); 60 return form2programs; 62 return (List<Form2ProgramMap>)criteria.list(); 61 63 } 62 64 63 65 public List<Form2ProgramMap> getForm2ProgramMaps(Program program) { 64 66 Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Form2ProgramMap.class, "f"); 65 // criteria.createAlias("en ocunterType", "e");66 criteria.add(Expression.eq("f.program", program .getProgramId()));67 // criteria.createAlias("encounterType", "e"); 68 criteria.add(Expression.eq("f.program", program)); 67 69 criteria.addOrder(Order.asc("f.encounterType")); 68 70 List<Form2ProgramMap> form2programs = new ArrayList<Form2ProgramMap>(); … … 70 72 return form2programs; 71 73 } 74 75 public List<Program> getPrograms( ) { 76 Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Form2ProgramMap.class); 77 criteria.setProjection(Projections.distinct(Projections.property("program"))); 78 return (List<Program>)criteria.list(); 79 } 80 81 public List<EncounterType> getEncounterTypes(Program program) { 82 Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Form2ProgramMap.class); 83 criteria.add(Expression.eq("program", program)); 84 criteria.addOrder(Order.asc("encounterType")); 85 return (List<EncounterType>)criteria.list(); 86 } 72 87 73 88 public List<Form2ProgramMap> getForm2ProgramMaps(EncounterType encounterType) { 74 89 Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Form2ProgramMap.class); 75 criteria.add(Expression.eq("encounterType", encounterType .getEncounterTypeId()));90 criteria.add(Expression.eq("encounterType", encounterType)); 76 91 criteria.addOrder(Order.asc("program")); 77 92 List<Form2ProgramMap> form2programs = new ArrayList<Form2ProgramMap>(); … … 80 95 } 81 96 97 public boolean isApplied(Program program, EncounterType encounterType) { 98 Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Form2ProgramMap.class); 99 criteria.add(Expression.eq("program", program)); 100 if (encounterType != null) 101 criteria.add(Expression.eq("encounterType", encounterType)); 102 criteria.add(Expression.ne("applied", true)); 103 // the following code throws a Hibernate exception 104 // return !criteria.list().isEmpty(); 105 // so do this instead 106 List<Form2ProgramMap> ret = criteria.list(); 107 if (ret == null) 108 return false; 109 return ret.isEmpty(); 110 } 111 112 /* (non-Javadoc) 113 * @see org.openmrs.module.form2program.db.Form2ProgramDAO#getForm2ProgramMap(org.openmrs.Program, org.openmrs.EncounterType) 114 */ 82 115 public List<Form2ProgramMap> getForm2ProgramMap(Program program, EncounterType encounterType) { 83 116 Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Form2ProgramMap.class); 84 criteria.add(Expression.eq("program", program.getProgramId())); 85 criteria.add(Expression.eq("encounterType", encounterType.getEncounterTypeId())); 86 List<Form2ProgramMap> form2programs = new ArrayList<Form2ProgramMap>(); 87 form2programs.addAll(criteria.list()); 88 return form2programs; 117 criteria.add(Expression.eq("program", program)); 118 criteria.add(Expression.eq("encounterType", encounterType)); 119 criteria.addOrder(Order.asc("encounterType")); 120 return criteria.list(); 121 } 122 123 /* 124 * Apply Form2ProgramMap to patients that are already in the database who have not yet been enrolled in the program. 125 * This applies to all org.openmrs.EncounterType that are mapped to the @param program. 126 * (non-Javadoc) 127 * @see org.openmrs.module.form2program.db.Form2ProgramDAO#applyForm2ProgramMap(org.openmrs.Program, org.openmrs.User, java.util.Date) 128 */ 129 public int applyForm2ProgramMap(Program program, User user, java.util.Date day) { 130 String query = "INSERT INTO patient_program " + 131 "(patient_id, program_id, date_enrolled, creator, date_created, changed_by, date_changed) " + 132 "SELECT DISTINCT encounter.patient_id, " + program.getProgramId() + ", encounter.date_created, " + program.getProgramId() + 133 ", '" + df.format(day) + "', " + user.getUserId() + ", '" + df.format(day) + "' FROM encounter WHERE encounter.encounter_type in " + 134 "(select form2program_map.encounter_type from form2program_map where form2program_map.program = " + program.getProgramId() + 135 ") AND encounter.patient_id not in (select patient_id from patient_program where patient_program.program_id = " + program.getProgramId() + 136 " and patient_program.date_completed is null ) GROUP BY encounter.patient_id ORDER BY encounter.date_created ASC"; 137 138 int rows = 0; 139 try { 140 rows = this.sessionFactory.getCurrentSession().connection().prepareStatement(query).executeUpdate(); 141 if (rows > 0) { 142 String applied = "UPDATE form2program_map set applied = true where program = " + program.getProgramId().toString(); 143 this.sessionFactory.getCurrentSession().connection().prepareStatement(applied).executeUpdate(); 144 } 145 } 146 catch (Exception e){ 147 log.error(e.getMessage()); 148 } 149 return rows; 89 150 } 90 151 152 /* 153 * Apply Form2ProgramMap to patients that are already in the database who have not yet been enrolled in the program. 154 * This applies only to the @param org.openmrs.EncounterType that is mapped to the @param Program. 155 * (non-Javadoc) 156 * @see org.openmrs.module.form2program.db.Form2ProgramDAO#applyForm2ProgramMap(org.openmrs.Program, org.openmrs.EncounterType, org.openmrs.User, java.util.Date) 157 */ 158 public int applyForm2ProgramMap(Program program, EncounterType encounterType, User user, java.util.Date day) { 159 String query = "INSERT INTO patient_program " + 160 "(patient_id, program_id, date_enrolled, creator, date_created, changed_by, date_changed) " + 161 "SELECT DISTINCT encounter.patient_id, " + program.getProgramId() + ", encounter.date_created, " + program.getProgramId() + 162 ", '" + df.format(day) + "', " + user.getUserId() + ", '" + df.format(day) + "' FROM encounter WHERE encounter.encounter_type = " + encounterType.getEncounterTypeId() + 163 " AND encounter.patient_id not in (select patient_id from patient_program where patient_program.program_id = " + program.getProgramId() + 164 " and patient_program.date_completed is null ) GROUP BY encounter.patient_id ORDER BY encounter.date_created ASC"; 165 166 int rows = 0; 167 try { 168 rows = this.sessionFactory.getCurrentSession().connection().prepareStatement(query).executeUpdate(); 169 if (rows > 0) { 170 String applied = "UPDATE form2program_map set applied = true where program = " + program.getProgramId().toString(); 171 this.sessionFactory.getCurrentSession().connection().prepareStatement(applied).executeUpdate(); 172 } 173 } 174 catch (Exception e){ 175 log.error(e.getMessage()); 176 } 177 return rows; 178 } 179 91 180 } openmrs-modules/form2program/src/org/openmrs/module/form2program/extension/html/AdminList.java
r2306 r2352 21 21 Map<String, String> map = new LinkedHashMap<String, String>(); 22 22 23 map.put("module/form2program/form2Program.list", "form2program.form2ProgramList"); 24 map.put("module/form2program/form2Program.form", "form2program.form2ProgramForm"); 23 map.put("module/form2program/form2Program.form", "form2program.form.title"); 25 24 26 25 return map; openmrs-modules/form2program/src/org/openmrs/module/form2program/impl/Form2ProgramServiceImpl.java
r2306 r2352 2 2 3 3 4 import java.util. ArrayList;4 import java.util.Date; 5 5 import java.util.List; 6 6 … … 10 10 import org.openmrs.Patient; 11 11 import org.openmrs.Program; 12 import org.openmrs.User; 12 13 import org.openmrs.api.ProgramWorkflowService; 13 14 import org.openmrs.api.context.Context; … … 85 86 } 86 87 88 public int applyForm2ProgramMap(Program program, User user, Date day) { 89 int rows = dao.applyForm2ProgramMap(program, user, day); 90 return rows; 91 } 92 93 public int applyForm2ProgramMap(Program program, EncounterType encounterType, User user, Date day) { 94 int rows = dao.applyForm2ProgramMap(program, encounterType, user, day); 95 return rows; 96 } 87 97 98 public List<Program> getPrograms( ) { 99 List<Program> programs = dao.getPrograms(); 100 return programs; 101 } 102 103 public List<EncounterType> getEncounterTypes(Program program) { 104 List<EncounterType> encounterTypes = dao.getEncounterTypes(program); 105 return encounterTypes; 106 } 107 108 public boolean isApplied(Program program, EncounterType encounterType) { 109 return dao.isApplied(program, encounterType); 110 } 88 111 } openmrs-modules/form2program/web/module/form2ProgramForm.jsp
r2306 r2352 5 5 <%@ include file="/WEB-INF/template/header.jsp" %> 6 6 <%@ include file="/WEB-INF/view/admin/programs/localHeader.jsp" %> 7 <style type="text/css"> 8 ul.petStyle { 9 text-decoration: none; 10 display: block; 11 } 12 13 ul.petStyle li { 14 display: block; 15 text-decoration: none; 16 } 17 18 </style> 7 19 8 20 <h2><spring:message code="form2program.form.title"/></h2> 9 21 10 < a href="form2Program.form"><spring:message code="form2program.add"/></a>22 <br /> 11 23 12 <br /><br /> 13 14 <b class="boxHeader"><spring:message code="form2program.list.title"/></b> 15 <form method="post" action="" name="${pageContext.request.contextPath}/moduleServlet/clinicalsummary/generate"> 24 <b class="boxHeader"><spring:message code="form2program.form.title"/></b> 25 <form method="post" action="" name="f2pFormManage" > 16 26 <div class="box"> 17 27 <c:if test="${fn:length(form2program) == 0}"> … … 21 31 </c:if> 22 32 <c:if test="${fn:length(form2program) != 0}"> 33 <input type="hidden" name="programAction" id="programAction" value=""/> 34 <input type="hidden" name="encounterTypeAction" id="encounterTypeAction" value=""/> 35 <c:set var="needUpdate" value='false'/> 23 36 <table cellspacing="0" cellpadding="2"> 24 37 <tr> 25 <th> <spring:message code="general.id"/> </th> 38 <th> <spring:message code="Program.program"/> </th> 39 <th> <spring:message code="Encounter.type"/> </th> 40 <th></th> 41 </tr> 42 <c:forEach var="pet" items="${programMap}" varStatus="pVarStat"> 43 <tr> 44 <td valign=top> 45 <table> 46 <tr> 47 <td> 48 <b>${pet.key.programId}</b> ${pet.key.concept.name} 49 <td> 50 </tr> 51 <tr> 52 <td> 53 <c:forEach var="pa" items="${programApplied}" varStatus="aVarStat"> 54 <c:if test="${pa.key.programId == pet.key.programId}"> 55 <c:if test="${pa.value == 'false'}"> 56 <input type="submit" id="${pet.key.programId}" name="update" value="Update" onclick="setForm2ProgramMap('${pet.key.programId}',null)"/> 57 </c:if> 58 </c:if> 59 </c:forEach> 60 <td> 61 </tr> 62 </table> 63 </td> 64 <td valign=top> 65 <c:forEach var="petVal" items="${pet.value}" varStatus="eVarStat"> 66 <table><tr><td> 67 <input type="submit" value="X" id="${pet.key.programId}.{petVal.encounterType.name}" name="delete" class="closeButton" onclick="remove('${pet.key.programId}','${petVal.encounterType.encounterTypeId}')" /> 68 </td><td> 69 ${petVal.encounterType.name} 70 <c:if test="${petVal.applied == 'false'}"><sup>*</sup><c:set var="needUpdate" value='true'/></c:if> 71 </td></tr></table> 72 </c:forEach> 73 </td> 74 </tr> 75 <tr><td></td></tr> 76 <tr><td> 77 </td></tr> 78 </c:forEach> 79 <tr><td></td><td> 80 <c:if test="${needUpdate}"><sup>*</sup><spring:message code="form2program.needUpdate"/></c:if> 81 </td></tr> 82 </table> 83 </c:if> 84 </div> 85 </form> 86 <br/> 87 <form method="post" action="" name="f2pFormSubmit" > 88 <b class="boxHeader"><spring:message code="form2program.add"/></b> 89 <div class=box> 90 <table> 91 <th> <spring:message code="Program.program"/> </th> 26 92 <th> <spring:message code="Encounter.type"/> </th> 27 93 <th></th> 28 94 <th></th> 29 <th> <spring:message code="general.id"/> </th>30 <th> <spring:message code="Program.program"/> </th>31 </tr>32 <c:forEach var="form2program" items="${form2program}">33 <tr>34 <td valign="top">35 <a href="program.form?programId=${form2program.encounterType.name}">36 ${form2program.encounterType.encounterTypeId}37 </a>38 </td>39 <td valign="top">40 <a href="program.form?programId=${form2program.encounterType.name}">41 ${form2program.encounterType.name}42 </a>43 </td>44 <td></td>45 <td>46 <spring:message code="form2program.enroll.current"/>47 </td>48 <openmrs:concept conceptId="${form2program.program.concept.conceptId}" var="v" nameVar="n" numericVar="num">49 <td valign="top">50 <a href="openmrs.admin.program.form?programId=${form2program.program.programId}">51 ${form2program.program.programId}52 </a>53 </td>54 <td valign="top">55 <a href="program.form?programId=${form2program.encounterType.encounterTypeId}">56 ${n.name}57 </a>58 </td>59 </openmrs:concept>60 </tr>61 </c:forEach>62 </table>63 </c:if>64 <table>65 95 <tr> 66 96 </tr> 67 97 <tr> 68 98 <td> 99 <select name="selectProgramId"> 100 <option value=""></option> 101 <openmrs:forEachRecord name="workflowProgram"> 102 <option value="${record.programId}">${record.concept.name}</option> 103 </openmrs:forEachRecord> 104 </select> 69 105 </td> 70 106 <td> … … 76 112 </select> 77 113 </td> 78 <td></td>79 <td>80 <spring:message code="form2program.enroll.encounterType"/>81 </td>82 <td></td>83 114 <td> 84 <select name="selectProgramId">85 <option value=""></option>86 <openmrs:forEachRecord name="workflowProgram">87 <option value="${record.programId}">${record.concept.name}</option>88 </openmrs:forEachRecord>89 </select>90 115 </td> 91 116 <td> 92 < spring:message code="form2program.enroll.program"/>117 <input type="submit" id="addAction" name="action" value="<spring:message code='form2program.add'/>" /> 93 118 </td> 94 119 <td> 95 <input type="submit" id="action" value="<spring:message code='form2program.add'/>"/>96 120 </td> 97 121 </tr> 98 </table>122 </table> 99 123 </div> 100 124 </form> 101 125 126 127 <script type="text/javascript"> 128 129 function remove(p,e) { 130 var prog = document.getElementById("programAction"); 131 var enct = document.getElementById("encounterTypeAction"); 132 var confirmation = "<spring:message code='form2program.delete.confirm'/>"; 133 if (confirm(confirmation)) { 134 prog.value = p; 135 enct.value = e; 136 form.submit(); 137 } 138 else { 139 prog.value = -1; 140 enct.value = -1; 141 } 142 } 143 144 function setForm2ProgramMap(p,e) { 145 var prog = document.getElementById("programAction"); 146 var enct = document.getElementById("encounterTypeAction"); 147 prog.value = p; 148 enct.value = e; 149 form.submit(); 150 } 151 152 </script> 102 153 <%@ include file="/WEB-INF/template/footer.jsp" %> openmrs-modules/form2program/web/src/org/openmrs/module/form2program/web/controller/Form2ProgramFormController.java
r2306 r2352 2 2 3 3 import java.util.ArrayList; 4 import java.util.Collections; 4 5 import java.util.Date; 5 6 import java.util.HashMap; 7 import java.util.LinkedHashMap; 6 8 import java.util.List; 7 9 import java.util.Map; … … 67 69 HttpSession httpSession = req.getSession(); 68 70 MessageSourceAccessor msa = getMessageSourceAccessor(); 69 70 // String action = req.getParameter("action"); 71 // if (!action.equals(msa.getMessage("form2program.add"))) { 72 // return new ModelAndView(new RedirectView(getSuccessView())); 73 // 74 // } 75 Form2Progr