Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 2907

Show
Ignore:
Timestamp:
12/19/07 23:30:31 (1 year ago)
Author:
bmckown
Message:

form2program module: Fixed inability to create a new Form2ProgramCondition from the web interface.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/form2program/metadata/messages.properties

    r2888 r2907  
    2626@MODULE_ID@.condition.operator=Condition Operator 
    2727@MODULE_ID@.condition.delete.confirm=Delete this condition? 
     28@MODULE_ID@.condition.delete.success=Condition deleted. 
     29@MODULE_ID@.condition.error.concept=Concept ID is null. 
    2830 
    2931@MODULE_ID@.transition.list.title=State Transitions 
  • openmrs-modules/form2program/web/module/form2ProgramConditionForm.jsp

    r2888 r2907  
    4343 
    4444<form method="post" action="" name="f2pFormManage" > 
    45 <c:if test="${param.conditionId != null}"> 
    4645        <table cellspacing="0" cellpadding="2"> 
    4746            <c:forEach var="f2p" items="${form2program}" varStatus="pVarStat"> 
     
    5150                </th> 
    5251                <td align=left> 
    53                     ${f2p.conditionId} 
     52                    <c:choose> 
     53                        <c:when test="${f2p.conditionId != null }"> 
     54                            ${f2p.conditionId} 
     55                        </c:when> 
     56                        <c:otherwise> 
     57                            &nbsp; 
     58                        </c:otherwise> 
     59                    </c:choose> 
    5460                </td> 
    5561            </tr> 
     
    5965                </th> 
    6066                <td align=left> 
    61                     <input type="hidden" id="conceptId" value="${param.conceptId}" />  
    62                     <openmrs_tag:conceptField formFieldName='conceptId' searchLabel='Concept' initialValue='${f2p.conceptId}' onSelectFunction='setConcept' /> 
     67                    <input type="hidden" id="conceptId" name="conceptId" value="${param.conceptId}" />  
     68                    <openmrs_tag:conceptField formFieldName='conceptIdForm' searchLabel='Concept' initialValue='${f2p.conceptId}' onSelectFunction='setConcept' /> 
    6369                </td> 
    6470            </tr> 
     
    6874                </th> 
    6975                <td align=left> 
    70                     <input type="hidden" id="datatype" value="${param.datatype}" /> 
     76                    <input type="hidden" id="datatype" name="datatype" value="${param.datatype}" /> 
    7177                    <c:forEach var="dt" items="${datatypes}"> 
    7278                        <item class="bold" name="datatypeItem" id="${dt.hl7Abbreviation}" >${dt.name}</item> 
     
    7985                </th> 
    8086                <td align=left> 
    81                     <input type="text" id="operator" value="${f2p.operator}" /> 
     87                    <input type="text" id="operator" name="operator" value="${f2p.operator}" /> 
    8288                </td> 
    8389            </tr> 
     
    8793                </th> 
    8894                <td align=left> 
    89                     <input type="text" id="valueCoded" value="${f2p.valueCoded}" /> 
     95                    <input type="text" id="valueCoded" name="valueCoded" value="${f2p.valueCoded}" /> 
    9096                </td> 
    9197            </tr> 
     
    95101                </th> 
    96102                <td align=left> 
    97                     <input type="text" id="valueDrug" value="${f2p.valueDrug}" /> 
     103                    <input type="text" id="valueDrug" name="valueDrug" value="${f2p.valueDrug}" /> 
    98104                </td> 
    99105            </tr> 
     
    103109                </th> 
    104110                <td align=left> 
    105                     <input type"text" id="valueDatetime" value="${f2p.valueDatetime}" /> 
     111                    <input type"text" id="valueDatetime" name="valueDatetime" value="${f2p.valueDatetime}" /> 
    106112                </td> 
    107113            </tr> 
     
    111117                </th> 
    112118                <td align=left> 
    113                     <input type="text" id="valueNumeric" value="${f2p.valueNumeric}" /> 
     119                    <input type="text" id="valueNumeric" name="valueNumeric" value="${f2p.valueNumeric}" /> 
    114120                </td> 
    115121            </tr> 
     
    119125                </th> 
    120126                <td align=left> 
    121                     <input type="text" id="valueModifier" value="${f2p.valueModifier}" /> 
     127                    <input type="text" id="valueModifier" name="valueModifier" value="${f2p.valueModifier}" /> 
    122128                </td> 
    123129            </tr> 
     
    127133                </th> 
    128134                <td align=left> 
    129                     <input type="text" id="valueText" value="${f2p.valueText}" /> 
     135                    <input type="text" id="valueText" name="valueText" value="${f2p.valueText}" /> 
    130136                </td> 
    131137            </tr> 
     
    144150        </tr> 
    145151        </table> 
    146     </c:if> 
    147     <c:if test="${param.conditionId == null}"> 
    148         <table cellspacing="0" cellpadding="2"> 
    149             <tr> 
    150                 <th align=left> 
    151                     <spring:message code="form2program.condition.conditionId" /> 
    152                 </th> 
    153                 <td align=left> 
    154                     &nbsp; 
    155                 </td> 
    156             </tr> 
    157             <tr> 
    158                 <th align=left> 
    159                     <spring:message code="Concept" /> 
    160                 </th> 
    161                 <td align=left> 
    162                     <input type="hidden" id="conceptId" value="" />  
    163                     <openmrs_tag:conceptField formFieldName='conceptId' searchLabel='Concept' initialValue='' onSelectFunction='setConcept' /> 
    164                 </td> 
    165             </tr> 
    166             <tr> 
    167             <%-- 
    168                 <th align=left> 
    169                     <spring:message code="Concept.datatype" /> 
    170                 </th> 
    171                 <td align=left> 
    172                     <input type="hidden" id="datatype" value="${param.datatype}" /> 
    173                     <c:forEach var="dt" items="${datatypes}"> 
    174                         <item class="bold" name="datatypeItem" id="${dt.hl7Abbreviation}" >${dt.name}</item> 
    175                     </c:forEach> 
    176                 </td> 
    177             </tr> 
    178             --%> 
    179             <tr> 
    180                 <th align=left>  
    181                     <spring:message code="form2program.condition.operator" /> 
    182                 </th> 
    183                 <td align=left> 
    184                     <input type="text" id="operator" value="" /> 
    185                 </td> 
    186             </tr> 
    187             <tr name="dtRow" id="CWE" > 
    188                 <th align=left>  
    189                     <spring:message code="Obs.valueCoded" /> 
    190                 </th> 
    191                 <td align=left> 
    192                     <input type="text" id="valueCoded" value="" /> 
    193                 </td> 
    194             </tr> 
    195             <tr name="dtRow" id="ZZ"> 
    196                 <th align=left>  
    197                     <spring:message code="Obs.valueDrug" /> 
    198                 </th> 
    199                 <td align=left> 
    200                     <input type="text" id="valueDrug" value="" /> 
    201                 </td> 
    202             </tr> 
    203             <tr name="dtRow" id="DT,TM,TS"> 
    204                 <th align=left>  
    205                     <spring:message code="Obs.valueDatetime" /> 
    206                 </th> 
    207                 <td align=left> 
    208                     <input type"text" id="valueDatetime" value="" /> 
    209                 </td> 
    210             </tr> 
    211             <tr name="dtRow" id="NM,BIT"> 
    212                 <th align=left>  
    213                     <spring:message code="Obs.valueNumeric" /> 
    214                 </th> 
    215                 <td align=left> 
    216                     <input type="text" id="valueNumeric" value="" /> 
    217                 </td> 
    218             </tr> 
    219             <tr id="null"> 
    220                 <th align=left>  
    221                     <spring:message code="Obs.valueModifier" /> 
    222                 </th> 
    223                 <td align=left> 
    224                     <input type="text" id="valueModifier" value="" /> 
    225                 </td> 
    226             </tr> 
    227             <tr name="dtRow" id="ST"> 
    228                 <th align=left>  
    229                     <spring:message code="Obs.valueText" /> 
    230                 </th> 
    231                 <td align=left> 
    232                     <input type="text" id="valueText" value="" /> 
    233                 </td> 
    234             </tr> 
    235         <tr> 
    236                 <td align=left> 
    237             &nbsp; 
    238                 </td> 
    239         </tr> 
    240         <tr> 
    241                 <td align=left> 
    242             <input type="submit" name="action" value="<spring:message code='general.save' />" />&nbsp; 
    243             <input type="submit" name="action" value="<spring:message code='general.cancel' />" />&nbsp; 
    244             <input type="submit" name="action" value="<spring:message code='general.delete' />" />&nbsp; 
    245                 </td> 
    246         </tr> 
    247         </table> 
    248 </c:if> 
    249152         
    250153</form> 
     
    258161        var currentDatatype = document.getElementById("datatype"); 
    259162        var currentConcept = document.getElementById("conceptId"); 
     163        alert(currentConcept.value); 
    260164        currentConcept.value = concept.conceptId; 
    261165        for (var i=0; i<datatypes.length; i++) { 
  • openmrs-modules/form2program/web/src/org/openmrs/module/form2program/web/controller/Form2ProgramConditionFormController.java

    r2888 r2907  
    2626import org.springframework.context.support.MessageSourceAccessor; 
    2727import org.springframework.validation.BindException; 
     28import org.springframework.web.bind.ServletRequestBindingException; 
    2829import org.springframework.web.bind.ServletRequestUtils; 
    2930import org.springframework.web.servlet.ModelAndView; 
     
    6768 
    6869                Form2ProgramCondition condition = new Form2ProgramCondition(); 
    69                 Integer conceptId = ServletRequestUtils.getIntParameter(request, "conceptId"); 
    70                 String operator = ServletRequestUtils.getStringParameter(request, "operator"); 
    71                 Integer valueCoded = ServletRequestUtils.getIntParameter(request, "valueCoded"); 
    72                 Integer valueDrug = ServletRequestUtils.getIntParameter(request, "valueDrug"); 
    73                 String stringDatetime = ServletRequestUtils.getStringParameter(request, "valueDatetime"); 
    74                 Double valueNumeric = ServletRequestUtils.getDoubleParameter(request, "valueNumeric"); 
    75                 String valueModifier = ServletRequestUtils.getStringParameter(request, "valueModifier"); 
    76                 String valueText = ServletRequestUtils.getStringParameter(request, "valueText"); 
     70                try { 
     71                    Integer conceptId = ServletRequestUtils.getIntParameter(request, "conceptId"); 
     72                Concept concept = getConceptService().getConcept(conceptId); 
     73                condition.setConceptId(concept); 
     74                } 
     75                catch (Exception e) { 
     76                httpSession.setAttribute(WebConstants.OPENMRS_ERROR_ATTR, "form2program.condition.error.concept"); 
     77                return this.showForm(request, response, exceptions);                 
     78                } 
     79                try { 
     80                    String operator = ServletRequestUtils.getStringParameter(request, "operator"); 
     81                condition.setOperator(operator); 
     82                } 
     83                catch (Exception e) { 
     84                } 
     85                try { 
     86                    Integer valueCoded = ServletRequestUtils.getIntParameter(request, "valueCoded"); 
     87                Concept coded = getConceptService().getConcept(valueCoded); 
     88                condition.setValueCoded(coded); 
     89                } 
     90                catch (Exception e){ 
     91                } 
     92                try { 
     93                    Integer valueDrug = ServletRequestUtils.getIntParameter(request, "valueDrug"); 
     94                Drug drug = getConceptService().getDrug(valueDrug); 
     95                condition.setValueDrug(drug); 
     96                } 
     97                catch (Exception e) { 
     98                } 
     99                try { 
     100                    String stringDatetime = ServletRequestUtils.getStringParameter(request, "valueDatetime"); 
     101                java.util.Date valueDatetime = Context.getDateFormat().parse(stringDatetime); 
     102                condition.setValueDatetime(valueDatetime); 
     103                } 
     104                catch (Exception e) { 
     105                } 
     106                try { 
     107                    Double valueNumeric = ServletRequestUtils.getDoubleParameter(request, "valueNumeric"); 
     108                condition.setValueNumeric(valueNumeric); 
     109                } 
     110                catch (Exception e) { 
     111                } 
     112                try { 
     113                    String valueModifier = ServletRequestUtils.getStringParameter(request, "valueModifier"); 
     114                condition.setValueModifier(valueModifier); 
     115                } 
     116                catch (Exception e) { 
     117                } 
     118                try { 
     119                    String valueText = ServletRequestUtils.getStringParameter(request, "valueText"); 
     120                condition.setValueText(valueText); 
     121                } 
     122                catch (Exception e) { 
     123                } 
    77124                 
    78                 Concept concept = getConceptService().getConcept(conceptId); 
    79                 if (null == concept) { 
    80                         return this.showForm(request, response, exceptions); 
    81                 } 
    82                 condition.setConceptId(concept); 
    83                 if (null != operator) { 
    84                         condition.setOperator(operator); 
    85                 } 
    86                 Concept coded = getConceptService().getConcept(valueCoded); 
    87                 if (null != coded) { 
    88                         condition.setValueCoded(coded); 
    89                 } 
    90                 // TODO: Use SimpleDateFormat 
    91                 java.util.Date valueDatetime = new java.util.Date(stringDatetime); 
    92                 if (null != valueDatetime) { 
    93                         condition.setValueDatetime(valueDatetime); 
    94                 } 
    95                 Drug drug = getConceptService().getDrug(valueDrug); 
    96                 if (null != drug) { 
    97                         condition.setValueDrug(drug); 
    98                 } 
    99                 if (null != valueModifier) { 
    100                         condition.setValueModifier(valueModifier); 
    101                 } 
    102                 if (null != valueNumeric) { 
    103                         condition.setValueNumeric(valueNumeric); 
    104                 } 
    105                 if ("" != valueText) { 
    106                         condition.setValueText(valueText); 
    107                 } 
    108125                getForm2ProgramService().createForm2ProgramCondition(condition); 
    109126                httpSession.setAttribute(WebConstants.OPENMRS_MSG_ATTR, "form2program.condition.save.success"); 
     
    131148        protected Object formBackingObject(HttpServletRequest request) throws Exception { 
    132149        List<Form2ProgramCondition> form2ProgramConditions = new ArrayList<Form2ProgramCondition>(); 
    133         Integer condition = ServletRequestUtils.getIntParameter(request, "conditionId"); 
     150        Integer condition = -1; 
     151        try { 
     152            condition = ServletRequestUtils.getIntParameter(request, "conditionId"); 
     153        } 
     154        catch (ServletRequestBindingException srbe){ 
     155            // nevermind 
     156        } 
    134157        if (Context.isAuthenticated()) { 
    135158                if (null != condition) 
     
    137160                else { 
    138161                        // TODO: Does this redirect to the 'create new condition' page? 
    139                         return new ModelAndView(new RedirectView(getSuccessView())); 
     162                        //return new ModelAndView(new RedirectView(getSuccessView())); 
     163                    form2ProgramConditions.add(new Form2ProgramCondition()); 
    140164                } 
    141165        }