ofbiz-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jler...@apache.org
Subject svn commit: r1574019 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
Date Tue, 04 Mar 2014 10:37:02 GMT
Author: jleroux
Date: Tue Mar  4 10:37:01 2014
New Revision: 1574019

URL: http://svn.apache.org/r1574019
A patch from Leila Mekika for "Problems in single form when use-when and position are used
together" https://issues.apache.org/jira/browse/OFBIZ-5552

The service "renderSingleFormString" check the previous field position to see if the current
field must be displayed after the previous field or on a new line. 

When the previous field has a use-when condition that is not valid, it remains as the currentFormField
and the next field is compared with this "not rendered" field. If the position of this previous
field is the same as the current field, the current is displayed on the next line.

To reproduce, add in a single form the three fields below :

<field position="1" name="first"><display description="first"/></field>
<field position="2" name="second" use-when="true"><display description="second"/></field>
<field position="2" name="second" use-when="false"><display description="second"/></field>

The field second is rendered on a new line

jleroux: this second version works correctly


Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=1574019&r1=1574018&r2=1574019&view=diff
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Tue Mar  4 10:37:01
@@ -1062,6 +1062,9 @@ public class ModelForm extends ModelWidg
             //Debug.logInfo("In single form evaluating use-when for field " + currentFormField.getName()
+ ": " + currentFormField.getUseWhen(), module);
             if (!currentFormField.shouldUse(context)) {
+                if (UtilValidate.isNotEmpty(lastFormField)) {
+                    currentFormField = lastFormField;
+                }

View raw message