Author: jleroux
Date: Sat Mar 1 12:15:33 2014
New Revision: 1573161
URL: http://svn.apache.org/r1573161
Log:
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
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
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=1573161&r1=1573160&r2=1573161&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 Sat
Mar 1 12:15:33 2014
@@ -1062,6 +1062,7 @@ public class ModelForm extends ModelWidg
}
//Debug.logInfo("In single form evaluating use-when for field " +
currentFormField.getName() + ": " + currentFormField.getUseWhen(), module);
if (!currentFormField.shouldUse(context)) {
+ currentFormField = lastFormField;
continue;
}
alreadyRendered.add(currentFormField.getName());