svn commit: r1039651 [36/38] - in /ofbiz/branches/jquery: ./ applications/accounting/config/ applications/accounting/src/org/ofbiz/accounting/thirdparty/authorizedotnet/ applications/commonext/config/ applications/content/config/ applications/content/w...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1039651 [36/38] - in /ofbiz/branches/jquery: ./ applications/accounting/config/ applications/accounting/src/org/ofbiz/accounting/thirdparty/authorizedotnet/ applications/commonext/config/ applications/content/config/ applications/content/w...

jleroux@apache.org
Modified: ofbiz/branches/jquery/framework/webtools/webapp/webtools/WEB-INF/actions/service/AvailableServices.groovy
URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/framework/webtools/webapp/webtools/WEB-INF/actions/service/AvailableServices.groovy?rev=1039651&r1=1039650&r2=1039651&view=diff
==============================================================================
--- ofbiz/branches/jquery/framework/webtools/webapp/webtools/WEB-INF/actions/service/AvailableServices.groovy (original)
+++ ofbiz/branches/jquery/framework/webtools/webapp/webtools/WEB-INF/actions/service/AvailableServices.groovy Sat Nov 27 10:59:21 2010
@@ -460,7 +460,7 @@ if (selectedService) {
                 curOvrPrm.internal = curParam.internal ? uiLabelMap.CommonTrue : uiLabelMap.CommonFalse;
                 curOvrPrm.mode = curParam.mode;
                 curOvrPrm.name = curParam.name;
-                curOvrParam.description = curParam.description;
+                curOvrPrm.description = curParam.description;
                 curOvrPrm.optional = curParam.optional ? uiLabelMap.CommonTrue : uiLabelMap.CommonFalse;
                 curOvrPrm.type = curParam.type;
                 ovrPrmList.add(curOvrPrm);

Modified: ofbiz/branches/jquery/framework/widget/config/conditional.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/framework/widget/config/conditional.xml?rev=1039651&r1=1039650&r2=1039651&view=diff
==============================================================================
--- ofbiz/branches/jquery/framework/widget/config/conditional.xml (original)
+++ ofbiz/branches/jquery/framework/widget/config/conditional.xml Sat Nov 27 10:59:21 2010
@@ -30,6 +30,7 @@
         <value xml:lang="ru">Начинается с</value>
         <value xml:lang="th">เริ่มต้นด้วย</value>
         <value xml:lang="zh">开头字符</value>
+        <value xml:lang="zh_TW">開頭字符</value>
     </property>
     <property key="contains">
         <value xml:lang="ar">يحتوي على</value>
@@ -43,6 +44,7 @@
         <value xml:lang="ru">Содержит</value>
         <value xml:lang="th">ประกอบด้วย</value>
         <value xml:lang="zh">包含</value>
+        <value xml:lang="zh_TW">包含</value>
     </property>
     <property key="equals">
         <value xml:lang="ar">يساوي</value>
@@ -56,6 +58,7 @@
         <value xml:lang="ru">Равняется</value>
         <value xml:lang="th">เท่ากับ</value>
         <value xml:lang="zh">等于</value>
+        <value xml:lang="zh_TW">等于</value>
     </property>
     <property key="greater_than">
         <value xml:lang="ar">أكبر من</value>
@@ -69,6 +72,7 @@
         <value xml:lang="ru">Больше чем</value>
         <value xml:lang="th">มากกว่า</value>
         <value xml:lang="zh">大于</value>
+        <value xml:lang="zh_TW">大于</value>
     </property>
     <property key="greater_than_equals">
         <value xml:lang="ar">أكبر من أو يساوي</value>
@@ -82,6 +86,7 @@
         <value xml:lang="ru">Больше чем равно</value>
         <value xml:lang="th">มากกว่าเท่ากับ</value>
         <value xml:lang="zh">大于等于</value>
+        <value xml:lang="zh_TW">大于等于</value>
     </property>
     <property key="greater_than_from_day_start">
         <value xml:lang="ar">أكبر من يوم</value>
@@ -95,6 +100,7 @@
         <value xml:lang="ru">Больше чем на дату начала</value>
         <value xml:lang="th">มากกว่าจากวันที่เริ่มต้น</value>
         <value xml:lang="zh">大于开始日期</value>
+        <value xml:lang="zh_TW">大于開始日期</value>
     </property>
     <property key="ignore_case">
         <value xml:lang="ar">حساس لحجم الحرف</value>
@@ -108,6 +114,7 @@
         <value xml:lang="ru">Игнорировать регистр</value>
         <value xml:lang="th">Ignore Case</value>
         <value xml:lang="zh">忽略大小写</value>
+        <value xml:lang="zh_TW">忽略大小寫</value>
     </property>
     <property key="is_empty">
         <value xml:lang="ar">فارغ</value>
@@ -121,6 +128,7 @@
         <value xml:lang="ru">Является пустым</value>
         <value xml:lang="th">ว่าง</value>
         <value xml:lang="zh">为空</value>
+        <value xml:lang="zh_TW">為空</value>
     </property>
     <property key="less_than">
         <value xml:lang="ar">أقل من</value>
@@ -134,6 +142,7 @@
         <value xml:lang="ru">Меньше чем</value>
         <value xml:lang="th">น้อยกว่า</value>
         <value xml:lang="zh">小于</value>
+        <value xml:lang="zh_TW">小于</value>
     </property>
     <property key="less_than_equals">
         <value xml:lang="ar">أقل من أو يساوي</value>
@@ -147,6 +156,7 @@
         <value xml:lang="ru">Меньше чем равно</value>
         <value xml:lang="th">น้อยกว่าเท่ากับ</value>
         <value xml:lang="zh">小于等于</value>
+        <value xml:lang="zh_TW">小于等于</value>
     </property>
     <property key="not_equal">
         <value xml:lang="en">Not Equal</value>
@@ -154,6 +164,7 @@
         <value xml:lang="it">Diverso da</value>
         <value xml:lang="th">ไม่เท่ากับ</value>
         <value xml:lang="zh">不等于</value>
+        <value xml:lang="zh_TW">不等于</value>
     </property>
     <property key="same_day">
         <value xml:lang="ar">نفس اليوم</value>
@@ -167,6 +178,7 @@
         <value xml:lang="ru">Тот-же день</value>
         <value xml:lang="th">วันที่เหมือนกัน</value>
         <value xml:lang="zh">同一天</value>
+        <value xml:lang="zh_TW">同一天</value>
     </property>
     <property key="up_thru_day">
         <value xml:lang="ar">يحتوي اليوم</value>
@@ -180,6 +192,7 @@
         <value xml:lang="ru">До дня</value>
         <value xml:lang="th">เริ่มถึงวันที่</value>
         <value xml:lang="zh">到截止日期为止</value>
+        <value xml:lang="zh_TW">到截止日期為止</value>
     </property>
     <property key="up_to_day">
         <value xml:lang="ar">حتى يوم</value>
@@ -193,5 +206,6 @@
         <value xml:lang="ru">На день</value>
         <value xml:lang="th">ตั้งแต่วัน</value>
         <value xml:lang="zh">到今天为止</value>
+        <value xml:lang="zh_TW">到今天為止</value>
     </property>
 </resource>

Modified: ofbiz/branches/jquery/framework/widget/dtd/widget-form.xsd
URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/framework/widget/dtd/widget-form.xsd?rev=1039651&r1=1039650&r2=1039651&view=diff
==============================================================================
--- ofbiz/branches/jquery/framework/widget/dtd/widget-form.xsd (original)
+++ ofbiz/branches/jquery/framework/widget/dtd/widget-form.xsd Sat Nov 27 10:59:21 2010
@@ -155,6 +155,14 @@ under the License.
                 </xs:restriction>
             </xs:simpleType>
         </xs:attribute>
+        <xs:attribute name="group-columns" default="true">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
         <xs:attribute type="xs:integer" name="view-size">
             <xs:annotation><xs:documentation>The number of items to display per page</xs:documentation></xs:annotation>
         </xs:attribute>

Modified: ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=1039651&r1=1039650&r2=1039651&view=diff
==============================================================================
--- ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original)
+++ ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Sat Nov 27 10:59:21 2010
@@ -112,6 +112,7 @@ public class ModelForm extends ModelWidg
     protected String paginateTargetAnchor;
     protected String paginateStyle;
     protected boolean separateColumns = false;
+    protected boolean groupColumns = true;
     protected boolean useRowSubmit = false;
     protected FlexibleStringExpander targetWindowExdr;
     protected String defaultRequiredFieldStyle;
@@ -285,6 +286,7 @@ public class ModelForm extends ModelWidg
                 this.defaultTooltipStyle = parent.defaultTooltipStyle;
                 this.itemIndexSeparator = parent.itemIndexSeparator;
                 this.separateColumns = parent.separateColumns;
+                this.groupColumns = parent.groupColumns;
                 this.targetType = parent.targetType;
                 this.defaultMapName = parent.defaultMapName;
                 this.targetWindowExdr = parent.targetWindowExdr;
@@ -460,6 +462,11 @@ public class ModelForm extends ModelWidg
             if (sepColumns != null && sepColumns.equalsIgnoreCase("true"))
                 separateColumns = true;
         }
+        if (formElement.hasAttribute("group-columns")) {
+            String groupColumnsStr = formElement.getAttribute("group-columns");
+            if (groupColumnsStr != null && groupColumnsStr.equalsIgnoreCase("false"))
+                groupColumns = false;
+        }
         if (formElement.hasAttribute("use-row-submit")) {
             String rowSubmit = formElement.getAttribute("use-row-submit");
             if (rowSubmit != null && rowSubmit.equalsIgnoreCase("true"))
@@ -1236,7 +1243,8 @@ public class ModelForm extends ModelWidg
 
             Map<String, List<ModelFormField>> fieldRow = UtilMisc.toMap("displayBefore", innerDisplayHyperlinkFieldsBegin,
                                                    "inputFields", innerFormFields,
-                                                   "displayAfter", innerDisplayHyperlinkFieldsEnd);
+                                                   "displayAfter", innerDisplayHyperlinkFieldsEnd,
+                                                   "mainFieldList", mainFieldList);
             fieldRowsByPosition.add(fieldRow);
         }
         // ===========================
@@ -1246,6 +1254,7 @@ public class ModelForm extends ModelWidg
             List<ModelFormField> innerDisplayHyperlinkFieldsBegin = listsMap.get("displayBefore");
             List<ModelFormField> innerFormFields = listsMap.get("inputFields");
             List<ModelFormField> innerDisplayHyperlinkFieldsEnd = listsMap.get("displayAfter");
+            List<ModelFormField> mainFieldList = listsMap.get("mainFieldList");
 
             int numOfCells = innerDisplayHyperlinkFieldsBegin.size() +
                              innerDisplayHyperlinkFieldsEnd.size() +
@@ -1257,57 +1266,81 @@ public class ModelForm extends ModelWidg
 
             if (numOfCells > 0) {
                 formStringRenderer.renderFormatHeaderRowOpen(writer, context, this);
-                Iterator<ModelFormField> innerDisplayHyperlinkFieldsBeginIt = innerDisplayHyperlinkFieldsBegin.iterator();
-                while (innerDisplayHyperlinkFieldsBeginIt.hasNext()) {
-                    ModelFormField modelFormField = innerDisplayHyperlinkFieldsBeginIt.next();
-                    // span columns only if this is the last column in the row (not just in this first list)
-                    if (innerDisplayHyperlinkFieldsBeginIt.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size()) {
-                        formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, 1);
-                    } else {
-                        formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, numOfColumnsToSpan);
+                
+                if (this.groupColumns) {
+                    Iterator<ModelFormField> innerDisplayHyperlinkFieldsBeginIt = innerDisplayHyperlinkFieldsBegin.iterator();
+                    while (innerDisplayHyperlinkFieldsBeginIt.hasNext()) {
+                        ModelFormField modelFormField = innerDisplayHyperlinkFieldsBeginIt.next();
+                        // span columns only if this is the last column in the row (not just in this first list)
+                        if (innerDisplayHyperlinkFieldsBeginIt.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size()) {
+                            formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, 1);
+                        } else {
+                            formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, numOfColumnsToSpan);
+                        }
+                        formStringRenderer.renderFieldTitle(writer, context, modelFormField);
+                        formStringRenderer.renderFormatHeaderRowCellClose(writer, context, this, modelFormField);
                     }
-                    formStringRenderer.renderFieldTitle(writer, context, modelFormField);
-                    formStringRenderer.renderFormatHeaderRowCellClose(writer, context, this, modelFormField);
-                }
-                if (innerFormFields.size() > 0) {
-                    // TODO: manage colspan
-                    formStringRenderer.renderFormatHeaderRowFormCellOpen(writer, context, this);
-                    Iterator<ModelFormField> innerFormFieldsIt = innerFormFields.iterator();
-                    while (innerFormFieldsIt.hasNext()) {
-                        ModelFormField modelFormField = innerFormFieldsIt.next();
+                    if (innerFormFields.size() > 0) {
+                        // TODO: manage colspan
+                        formStringRenderer.renderFormatHeaderRowFormCellOpen(writer, context, this);
+                        Iterator<ModelFormField> innerFormFieldsIt = innerFormFields.iterator();
+                        while (innerFormFieldsIt.hasNext()) {
+                            ModelFormField modelFormField = innerFormFieldsIt.next();
 
-                        if (separateColumns || modelFormField.getSeparateColumn()) {
-                            formStringRenderer.renderFormatItemRowCellOpen(writer, context, this, modelFormField, 1);
-                        }
+                            if (separateColumns || modelFormField.getSeparateColumn()) {
+                                formStringRenderer.renderFormatItemRowCellOpen(writer, context, this, modelFormField, 1);
+                            }
 
-                        // render title (unless this is a submit or a reset field)
-                        formStringRenderer.renderFieldTitle(writer, context, modelFormField);
+                            // render title (unless this is a submit or a reset field)
+                            formStringRenderer.renderFieldTitle(writer, context, modelFormField);
 
-                        if (separateColumns || modelFormField.getSeparateColumn()) {
-                            formStringRenderer.renderFormatItemRowCellClose(writer, context, this, modelFormField);
-                        }
+                            if (separateColumns || modelFormField.getSeparateColumn()) {
+                                formStringRenderer.renderFormatItemRowCellClose(writer, context, this, modelFormField);
+                            }
 
-                        if (innerFormFieldsIt.hasNext()) {
-                            // TODO: determine somehow if this is the last one... how?
-                           if (!separateColumns && !modelFormField.getSeparateColumn()) {
-                                formStringRenderer.renderFormatHeaderRowFormCellTitleSeparator(writer, context, this, modelFormField, false);
-                           }
+                            if (innerFormFieldsIt.hasNext()) {
+                                // TODO: determine somehow if this is the last one... how?
+                               if (!separateColumns && !modelFormField.getSeparateColumn()) {
+                                    formStringRenderer.renderFormatHeaderRowFormCellTitleSeparator(writer, context, this, modelFormField, false);
+                               }
+                            }
                         }
+                        formStringRenderer.renderFormatHeaderRowFormCellClose(writer, context, this);
                     }
-                    formStringRenderer.renderFormatHeaderRowFormCellClose(writer, context, this);
-                }
-                Iterator<ModelFormField> innerDisplayHyperlinkFieldsEndIt = innerDisplayHyperlinkFieldsEnd.iterator();
-                while (innerDisplayHyperlinkFieldsEndIt.hasNext()) {
-                    ModelFormField modelFormField = innerDisplayHyperlinkFieldsEndIt.next();
-                    // span columns only if this is the last column in the row (not just in this first list)
-                    if (innerDisplayHyperlinkFieldsEndIt.hasNext() || numOfCells > innerDisplayHyperlinkFieldsEnd.size()) {
-                        formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, 1);
-                    } else {
-                        formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, numOfColumnsToSpan);
+                    Iterator<ModelFormField> innerDisplayHyperlinkFieldsEndIt = innerDisplayHyperlinkFieldsEnd.iterator();
+                    while (innerDisplayHyperlinkFieldsEndIt.hasNext()) {
+                        ModelFormField modelFormField = innerDisplayHyperlinkFieldsEndIt.next();
+                        // span columns only if this is the last column in the row (not just in this first list)
+                        if (innerDisplayHyperlinkFieldsEndIt.hasNext() || numOfCells > innerDisplayHyperlinkFieldsEnd.size()) {
+                            formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, 1);
+                        } else {
+                            formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, numOfColumnsToSpan);
+                        }
+                        formStringRenderer.renderFieldTitle(writer, context, modelFormField);
+                        formStringRenderer.renderFormatHeaderRowCellClose(writer, context, this, modelFormField);
+                    }
+                } else {
+                    Iterator<ModelFormField> mainFieldListIter = mainFieldList.iterator();
+                    while (mainFieldListIter.hasNext()) {
+                        ModelFormField modelFormField = mainFieldListIter.next();
+                        
+                        // don't do any header for hidden or ignored fields
+                        ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
+                        if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
+                            continue;
+                        }
+
+                        // span columns only if this is the last column in the row (not just in this first list)
+                        if (mainFieldListIter.hasNext() || numOfCells > mainFieldList.size()) {
+                            formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, 1);
+                        } else {
+                            formStringRenderer.renderFormatHeaderRowCellOpen(writer, context, this, modelFormField, numOfColumnsToSpan);
+                        }
+                        formStringRenderer.renderFieldTitle(writer, context, modelFormField);
+                        formStringRenderer.renderFormatHeaderRowCellClose(writer, context, this, modelFormField);
                     }
-                    formStringRenderer.renderFieldTitle(writer, context, modelFormField);
-                    formStringRenderer.renderFormatHeaderRowCellClose(writer, context, this, modelFormField);
                 }
+                
                 formStringRenderer.renderFormatHeaderRowClose(writer, context, this);
             }
         }
@@ -1589,7 +1622,9 @@ public class ModelForm extends ModelWidg
                     // are now rendered: this will create a visual representation
                     // of one row (for the current position).
                     if (innerDisplayHyperlinkFieldsBegin.size() > 0 || innerFormFields.size() > 0 || innerDisplayHyperlinkFieldsEnd.size() > 0) {
-                        this.renderItemRow(writer, localContext, formStringRenderer, formPerItem, hiddenIgnoredFieldList, innerDisplayHyperlinkFieldsBegin, innerFormFields, innerDisplayHyperlinkFieldsEnd, currentPosition, numOfColumns);
+                        this.renderItemRow(writer, localContext, formStringRenderer, formPerItem, hiddenIgnoredFieldList,
+                                innerDisplayHyperlinkFieldsBegin, innerFormFields, innerDisplayHyperlinkFieldsEnd, fieldListByPosition,
+                                currentPosition, numOfColumns);
                     }
                 } // iteration on positions
             } // iteration on items
@@ -1615,7 +1650,10 @@ public class ModelForm extends ModelWidg
     // The fields in the three lists, usually created in the preprocessing phase
     // of the renderItemRows method are rendered: this will create a visual representation
     // of one row (corresponding to one position).
-    public void renderItemRow(Appendable writer, Map<String, Object> localContext, FormStringRenderer formStringRenderer, boolean formPerItem, List<ModelFormField> hiddenIgnoredFieldList, List<ModelFormField> innerDisplayHyperlinkFieldsBegin, List<ModelFormField> innerFormFields, List<ModelFormField> innerDisplayHyperlinkFieldsEnd, int position, int numOfColumns) throws IOException {
+    public void renderItemRow(Appendable writer, Map<String, Object> localContext, FormStringRenderer formStringRenderer,
+            boolean formPerItem, List<ModelFormField> hiddenIgnoredFieldList, List<ModelFormField> innerDisplayHyperlinkFieldsBegin,
+            List<ModelFormField> innerFormFields, List<ModelFormField> innerDisplayHyperlinkFieldsEnd, List<ModelFormField> mainFieldList,
+            int position, int numOfColumns) throws IOException {
         int numOfCells = innerDisplayHyperlinkFieldsBegin.size() +
                          innerDisplayHyperlinkFieldsEnd.size() +
                          (innerFormFields.size() > 0? 1: 0);
@@ -1638,86 +1676,114 @@ public class ModelForm extends ModelWidg
             }
         }
 
-        // do the first part of display and hyperlink fields
-        Iterator<ModelFormField> innerDisplayHyperlinkFieldIter = innerDisplayHyperlinkFieldsBegin.iterator();
-        while (innerDisplayHyperlinkFieldIter.hasNext()) {
-            boolean cellOpen = false;
-            ModelFormField modelFormField = innerDisplayHyperlinkFieldIter.next();
-            // span columns only if this is the last column in the row (not just in this first list)
-            if( fieldCount.get(modelFormField.getName()) < 2 ){
-                if ((innerDisplayHyperlinkFieldIter.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size())) {
-                    formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
-                } else {
-                    formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan);
+        if (this.groupColumns) {
+            // do the first part of display and hyperlink fields
+            Iterator<ModelFormField> innerDisplayHyperlinkFieldIter = innerDisplayHyperlinkFieldsBegin.iterator();
+            while (innerDisplayHyperlinkFieldIter.hasNext()) {
+                boolean cellOpen = false;
+                ModelFormField modelFormField = innerDisplayHyperlinkFieldIter.next();
+                // span columns only if this is the last column in the row (not just in this first list)
+                if( fieldCount.get(modelFormField.getName()) < 2 ){
+                    if ((innerDisplayHyperlinkFieldIter.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size())) {
+                        formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
+                    } else {
+                        formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan);
+                    }
+                    cellOpen = true;
                 }
-                cellOpen = true;
-            }
-            if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) {
-                    if(( fieldCount.get(modelFormField.getName()) > 1 )){
-                        if ((innerDisplayHyperlinkFieldIter.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size())) {
-                            formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
-                        } else {
-                            formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan);
+                if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) {
+                        if(( fieldCount.get(modelFormField.getName()) > 1 )){
+                            if ((innerDisplayHyperlinkFieldIter.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size())) {
+                                formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
+                            } else {
+                                formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan);
+                            }
+                            cellOpen = true;
                         }
-                        cellOpen = true;
-                    }
-                modelFormField.renderFieldString(writer, localContext, formStringRenderer);
-            }
-            if (cellOpen) {
-                formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField);
+                    modelFormField.renderFieldString(writer, localContext, formStringRenderer);
+                }
+                if (cellOpen) {
+                    formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField);
+                }
             }
-        }
 
-        // The form cell is rendered only if there is at least an input field
-        if (innerFormFields.size() > 0) {
-            // render the "form" cell
-            formStringRenderer.renderFormatItemRowFormCellOpen(writer, localContext, this); // TODO: colspan
+            // The form cell is rendered only if there is at least an input field
+            if (innerFormFields.size() > 0) {
+                // render the "form" cell
+                formStringRenderer.renderFormatItemRowFormCellOpen(writer, localContext, this); // TODO: colspan
 
-            if (formPerItem) {
-                formStringRenderer.renderFormOpen(writer, localContext, this);
-            }
+                if (formPerItem) {
+                    formStringRenderer.renderFormOpen(writer, localContext, this);
+                }
 
-            // do all of the hidden fields...
-            this.renderHiddenIgnoredFields(writer, localContext, formStringRenderer, hiddenIgnoredFieldList);
+                // do all of the hidden fields...
+                this.renderHiddenIgnoredFields(writer, localContext, formStringRenderer, hiddenIgnoredFieldList);
 
-            Iterator<ModelFormField> innerFormFieldIter = innerFormFields.iterator();
-            while (innerFormFieldIter.hasNext()) {
-                ModelFormField modelFormField = innerFormFieldIter.next();
-                if (separateColumns || modelFormField.getSeparateColumn()) {
-                    formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
-                }
-                // render field widget
-                if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) {
-                    modelFormField.renderFieldString(writer, localContext, formStringRenderer);
+                Iterator<ModelFormField> innerFormFieldIter = innerFormFields.iterator();
+                while (innerFormFieldIter.hasNext()) {
+                    ModelFormField modelFormField = innerFormFieldIter.next();
+                    if (separateColumns || modelFormField.getSeparateColumn()) {
+                        formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
+                    }
+                    // render field widget
+                    if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) {
+                        modelFormField.renderFieldString(writer, localContext, formStringRenderer);
+                    }
+
+                    if (separateColumns || modelFormField.getSeparateColumn()) {
+                        formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField);
+                    }
                 }
 
-                if (separateColumns || modelFormField.getSeparateColumn()) {
-                    formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField);
+                if (formPerItem) {
+                    formStringRenderer.renderFormClose(writer, localContext, this);
                 }
+
+                formStringRenderer.renderFormatItemRowFormCellClose(writer, localContext, this);
             }
 
-            if (formPerItem) {
-                formStringRenderer.renderFormClose(writer, localContext, this);
+            // render the rest of the display/hyperlink fields
+            innerDisplayHyperlinkFieldIter = innerDisplayHyperlinkFieldsEnd.iterator();
+            while (innerDisplayHyperlinkFieldIter.hasNext()) {
+                ModelFormField modelFormField = innerDisplayHyperlinkFieldIter.next();
+                // span columns only if this is the last column in the row
+                if (innerDisplayHyperlinkFieldIter.hasNext()) {
+                    formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
+                } else {
+                    formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan);
+                }
+                if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) {
+                    modelFormField.renderFieldString(writer, localContext, formStringRenderer);
+                }
+                formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField);
             }
+        } else {
+            // do all of the hidden fields...
+            this.renderHiddenIgnoredFields(writer, localContext, formStringRenderer, hiddenIgnoredFieldList);
+            
+            Iterator<ModelFormField> mainFieldIter = mainFieldList.iterator();
+            while (mainFieldIter.hasNext()) {
+                ModelFormField modelFormField = mainFieldIter.next();
 
-            formStringRenderer.renderFormatItemRowFormCellClose(writer, localContext, this);
-        }
+                // don't do any header for hidden or ignored fields inside this loop
+                ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
+                if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
+                    continue;
+                }
 
-        // render the rest of the display/hyperlink fields
-        innerDisplayHyperlinkFieldIter = innerDisplayHyperlinkFieldsEnd.iterator();
-        while (innerDisplayHyperlinkFieldIter.hasNext()) {
-            ModelFormField modelFormField = innerDisplayHyperlinkFieldIter.next();
-            // span columns only if this is the last column in the row
-            if (innerDisplayHyperlinkFieldIter.hasNext()) {
-                formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
-            } else {
-                formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan);
-            }
-            if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) {
-                modelFormField.renderFieldString(writer, localContext, formStringRenderer);
+                // span columns only if this is the last column in the row
+                if (mainFieldIter.hasNext()) {
+                    formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1);
+                } else {
+                    formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan);
+                }
+                if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) {
+                    modelFormField.renderFieldString(writer, localContext, formStringRenderer);
+                }
+                formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField);
             }
-            formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField);
         }
+        
 
         // render row formatting close
         formStringRenderer.renderFormatItemRowClose(writer, localContext, this);

Modified: ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java?rev=1039651&r1=1039650&r2=1039651&view=diff
==============================================================================
--- ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java (original)
+++ ofbiz/branches/jquery/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java Sat Nov 27 10:59:21 2010
@@ -779,8 +779,16 @@ public class ModelFormField {
             //Debug.logInfo("Getting Map from default of the form because of no mapAcsr for field " + this.getName(), module);
             return this.modelForm.getDefaultMap(context);
         } else {
-            //Debug.logInfo("Getting Map from mapAcsr for field " + this.getName(), module);
-            return mapAcsr.get(context);
+            // Debug.logInfo("Getting Map from mapAcsr for field " + this.getName() + ", map-name=" + mapAcsr.getOriginalName() + ", context type=" + context.getClass().toString(), module);
+            Map<String, ? extends Object> result = null;
+            try {
+                result = mapAcsr.get(context);
+            } catch (java.lang.ClassCastException e) {
+                String errMsg = "Got an unexpected object type (not a Map) for map-name [" + mapAcsr.getOriginalName() + "] in field with name [" + this.getName() + "]: " + e.getMessage();
+                Debug.logError(errMsg, module);
+                throw new ClassCastException(errMsg);
+            }
+            return result;
         }
     }
 

Propchange: ofbiz/branches/jquery/specialpurpose/ebaystore/lib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Nov 27 10:59:21 2010
@@ -1,3 +1,3 @@
 /ofbiz/branches/addbirt/specialpurpose/ebay/lib:831210-885099,885686-886087
 /ofbiz/branches/multitenant20100310/specialpurpose/ebaystore/lib:921280-927264
-/ofbiz/trunk/specialpurpose/ebaystore/lib:951708-1036339
+/ofbiz/trunk/specialpurpose/ebaystore/lib:951708-1039648