You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2015/03/19 15:39:23 UTC

svn commit: r1667775 - in /ofbiz/branches/release14.12: ./ framework/widget/dtd/ framework/widget/src/org/ofbiz/widget/model/ framework/widget/src/org/ofbiz/widget/renderer/macro/

Author: jleroux
Date: Thu Mar 19 14:39:23 2015
New Revision: 1667775

URL: http://svn.apache.org/r1667775
Log:
"Applied fix from trunk for revision: 1667774" 
------------------------------------------------------------------------
r1667774 | jleroux | 2015-03-19 15:38:37 +0100 (jeu., 19 mars 2015) | 3 lines

Fixes <<You can't rely on Lookup field description-field-name attribute in a form having skip-start="true">> https://issues.apache.org/jira/browse/OFBIZ-6170

Instead of adding a form-name attribute only in lookup sub-element, I added it a the field level and removed the one at the lookup level.So the form-name field attribute can be used in the field of both the lookup and if needed the field set in the lookup description-field-name attribute. I only tested it in a version more near 13.07 but I believe it's ok here
------------------------------------------------------------------------


Modified:
    ofbiz/branches/release14.12/   (props changed)
    ofbiz/branches/release14.12/framework/widget/dtd/widget-form.xsd
    ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormField.java
    ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java
    ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java

Propchange: ofbiz/branches/release14.12/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 19 14:39:23 2015
@@ -8,4 +8,4 @@
 /ofbiz/branches/json-integration-refactoring:1634077-1635900
 /ofbiz/branches/multitenant20100310:921280-927264
 /ofbiz/branches/release13.07:1547657
-/ofbiz/trunk:1649072,1649083-1649084,1649086,1649090,1649096,1649230,1649238-1649239,1649248,1649272,1649275,1649280-1649281,1649283,1649285-1649286,1649291,1649329,1649331,1649384,1649393,1649666,1649742,1650240,1650348,1650357,1650583,1650642,1650678,1650821,1650882,1650887,1650938,1651593,1652312,1652361,1652638,1652641,1652672,1652688,1652706,1652725,1652731,1652739,1652852,1653248,1653296,1653456,1653597,1653614,1654175,1654273,1654509,1654670,1654672-1654673,1654683-1654684,1654824,1655046,1655668,1655979,1656014,1656185,1656198,1656445,1656983,1657323,1657506-1657507,1657514,1657714,1657790,1657848,1658364,1658662,1658882,1659224,1659965,1660031,1660053,1660389,1660444,1660579,1661303,1661328,1661760,1661778,1661853,1661862,1661873,1661940,1661951,1661977,1662119-1662120,1662361,1662500,1662812,1662919,1663202,1663912,1663979,1664602,1664604,1664696,1665154,1665162,1665535,1666404,1666511,1666633,1666836,1666939,1666949,1666958,1667055,1667253,1667483,1667492
+/ofbiz/trunk:1649072,1649083-1649084,1649086,1649090,1649096,1649230,1649238-1649239,1649248,1649272,1649275,1649280-1649281,1649283,1649285-1649286,1649291,1649329,1649331,1649384,1649393,1649666,1649742,1650240,1650348,1650357,1650583,1650642,1650678,1650821,1650882,1650887,1650938,1651593,1652312,1652361,1652638,1652641,1652672,1652688,1652706,1652725,1652731,1652739,1652852,1653248,1653296,1653456,1653597,1653614,1654175,1654273,1654509,1654670,1654672-1654673,1654683-1654684,1654824,1655046,1655668,1655979,1656014,1656185,1656198,1656445,1656983,1657323,1657506-1657507,1657514,1657714,1657790,1657848,1658364,1658662,1658882,1659224,1659965,1660031,1660053,1660389,1660444,1660579,1661303,1661328,1661760,1661778,1661853,1661862,1661873,1661940,1661951,1661977,1662119-1662120,1662361,1662500,1662812,1662919,1663202,1663912,1663979,1664602,1664604,1664696,1665154,1665162,1665535,1666404,1666511,1666633,1666836,1666939,1666949,1666958,1667055,1667253,1667483,1667492,1667774

Modified: ofbiz/branches/release14.12/framework/widget/dtd/widget-form.xsd
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/widget/dtd/widget-form.xsd?rev=1667775&r1=1667774&r2=1667775&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/widget/dtd/widget-form.xsd (original)
+++ ofbiz/branches/release14.12/framework/widget/dtd/widget-form.xsd Thu Mar 19 14:39:23 2015
@@ -912,6 +912,14 @@ under the License.
                 </xs:documentation>
                 </xs:annotation>
             </xs:attribute>
+            <xs:attribute type="xs:string" name="form-name">
+                <xs:annotation>
+                    <xs:documentation>
+                        The name of the parent form, needed at least for lookups when using skip-start="true"
+                        Must be set also on the related field if description-field-name is used 
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
         </xs:complexType>
     </xs:element>
 
@@ -1317,13 +1325,6 @@ under the License.
                 <xs:element minOccurs="0" ref="sub-hyperlink" />
             </xs:sequence>
             <xs:attribute type="xs:string" name="target-form-name" use="required" />
-            <xs:attribute type="xs:string" name="form-name">
-                <xs:annotation>
-                    <xs:documentation>
-                        The name of the parent form, needed when using skip-start="true" along with correct id-name value on field
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
             <xs:attribute type="xs:nonNegativeInteger" name="size" default="25" />
             <xs:attribute type="xs:positiveInteger" name="maxlength" />
             <xs:attribute type="xs:string" name="default-value" />

Modified: ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormField.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormField.java?rev=1667775&r1=1667774&r2=1667775&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormField.java (original)
+++ ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormField.java Thu Mar 19 14:39:23 2015
@@ -137,6 +137,7 @@ public class ModelFormField {
     private final FlexibleStringExpander useWhen;
     private final String widgetAreaStyle;
     private final String widgetStyle;
+    private final String parentFormName;
 
     private ModelFormField(ModelFormFieldBuilder builder) {
         this.action = builder.getAction();
@@ -187,6 +188,7 @@ public class ModelFormField {
         this.useWhen = builder.getUseWhen();
         this.widgetAreaStyle = builder.getWidgetAreaStyle();
         this.widgetStyle = builder.getWidgetStyle();
+        this.parentFormName = builder.getParentFormName();
     }
 
     public FlexibleStringExpander getAction() {
@@ -398,8 +400,13 @@ public class ModelFormField {
     public String getIdName() {
         if (UtilValidate.isNotEmpty(idName))
             return idName;
-        return this.modelForm.getName() + "_" + this.getFieldName();
-    }
+        String parentFormName = this.getParentFormName();
+        if (UtilValidate.isNotEmpty(parentFormName)) {
+            return parentFormName + "_" + this.getFieldName();
+        } else {
+           return this.modelForm.getName() + "_" + this.getFieldName();
+        }
+     }
 
     public Map<String, ? extends Object> getMap(Map<String, ? extends Object> context) {
         if (UtilValidate.isEmpty(this.mapAcsr))
@@ -643,6 +650,12 @@ public class ModelFormField {
         return this.modelForm.getDefaultWidgetStyle();
     }
 
+    public String getParentFormName() {
+        if (UtilValidate.isNotEmpty(this.parentFormName)) 
+            return this.parentFormName;
+        return "";
+    }
+
     /**
      * Checks if field is a row submit field.
      */
@@ -2761,7 +2774,6 @@ public class ModelFormField {
         private final String descriptionFieldName;
         private final String fadeBackground;
         private final FlexibleStringExpander formName;
-        private final String parentFormName;
         private final String initiallyCollapsed;
         private final String lookupHeight;
         private final String lookupPosition;
@@ -2773,7 +2785,6 @@ public class ModelFormField {
         public LookupField(Element element, ModelFormField modelFormField) {
             super(element, modelFormField);
             this.descriptionFieldName = element.getAttribute("description-field-name");
-            this.parentFormName = element.getAttribute("form-name");
             this.fadeBackground = element.getAttribute("fade-background");
             this.formName = FlexibleStringExpander.getInstance(element.getAttribute("target-form-name"));
             this.initiallyCollapsed = element.getAttribute("initially-collapsed");
@@ -2790,7 +2801,6 @@ public class ModelFormField {
             this.descriptionFieldName = "";
             this.fadeBackground = "";
             this.formName = FlexibleStringExpander.getInstance("");
-            this.parentFormName = "";
             this.initiallyCollapsed = "";
             this.lookupHeight = "";
             this.lookupPosition = "";
@@ -2805,7 +2815,6 @@ public class ModelFormField {
             this.descriptionFieldName = original.descriptionFieldName;
             this.fadeBackground = original.fadeBackground;
             this.formName = original.formName;
-            this.parentFormName = original.parentFormName;
             this.initiallyCollapsed = original.initiallyCollapsed;
             this.lookupHeight = original.lookupHeight;
             this.lookupPosition = original.lookupPosition;
@@ -2870,10 +2879,6 @@ public class ModelFormField {
             return targetParameter;
         }
 
-        public String getParentFormName() {
-            return this.parentFormName;
-        }        
-
         public List<String> getTargetParameterList() {
             List<String> paramList = new LinkedList<String>();
             if (UtilValidate.isNotEmpty(this.targetParameter)) {

Modified: ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java?rev=1667775&r1=1667774&r2=1667775&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java (original)
+++ ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/model/ModelFormFieldBuilder.java Thu Mar 19 14:39:23 2015
@@ -104,6 +104,7 @@ public class ModelFormFieldBuilder {
     private FlexibleStringExpander useWhen = FlexibleStringExpander.getInstance("");;
     private String widgetAreaStyle = "";
     private String widgetStyle = "";
+    private String parentFormName = "";
 
     public ModelFormFieldBuilder() {
     }
@@ -152,6 +153,7 @@ public class ModelFormFieldBuilder {
         this.useWhen = FlexibleStringExpander.getInstance(fieldElement.getAttribute("use-when"));
         this.widgetAreaStyle = fieldElement.getAttribute("widget-area-style");
         this.widgetStyle = fieldElement.getAttribute("widget-style");
+        this.parentFormName = fieldElement.getAttribute("form-name");
         Element childElement = null;
         List<? extends Element> subElements = UtilXml.childElementList(fieldElement);
         for (Element subElement : subElements) {
@@ -255,6 +257,7 @@ public class ModelFormFieldBuilder {
         this.useWhen = modelFormField.getUseWhen();
         this.widgetAreaStyle = modelFormField.getWidgetAreaStyle();
         this.widgetStyle = modelFormField.getWidgetStyle();
+        this.parentFormName = modelFormField.getParentFormName();
     }
 
     public ModelFormFieldBuilder(ModelFormFieldBuilder builder) {
@@ -294,6 +297,7 @@ public class ModelFormFieldBuilder {
         this.useWhen = builder.getUseWhen();
         this.widgetAreaStyle = builder.getWidgetAreaStyle();
         this.widgetStyle = builder.getWidgetStyle();
+        this.parentFormName = builder.getParentFormName();
     }
 
     public ModelFormFieldBuilder addOnChangeUpdateArea(UpdateArea onChangeUpdateArea) {
@@ -458,6 +462,10 @@ public class ModelFormFieldBuilder {
         return widgetStyle;
     }
 
+    public String getParentFormName() {
+        return this.parentFormName;
+    }
+
     private boolean induceFieldInfo(ModelForm modelForm, String defaultFieldType, ModelReader entityModelReader, DispatchContext dispatchContext) {
         if (induceFieldInfoFromEntityField(defaultFieldType, entityModelReader))
             return true;
@@ -716,6 +724,8 @@ public class ModelFormFieldBuilder {
             this.titleStyle = builder.getTitleStyle();
         if (UtilValidate.isNotEmpty(builder.getWidgetStyle()))
             this.widgetStyle = builder.getWidgetStyle();
+        if (UtilValidate.isNotEmpty(builder.getParentFormName()))
+            this.parentFormName = builder.getParentFormName();
         if (UtilValidate.isNotEmpty(builder.getRedWhen()))
             this.redWhen = builder.getRedWhen();
         if (UtilValidate.isNotEmpty(builder.getEvent()))
@@ -918,4 +928,8 @@ public class ModelFormFieldBuilder {
         this.widgetStyle = widgetStyle;
         return this;
     }
+    public ModelFormFieldBuilder setParentFormName(String parentFormName) {
+        this.parentFormName = parentFormName;
+        return this;
+    }
 }

Modified: ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java?rev=1667775&r1=1667774&r2=1667775&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java (original)
+++ ofbiz/branches/release14.12/framework/widget/src/org/ofbiz/widget/renderer/macro/MacroFormRenderer.java Thu Mar 19 14:39:23 2015
@@ -2068,7 +2068,7 @@ public final class MacroFormRenderer imp
         // add lookup pop-up button
         String descriptionFieldName = lookupField.getDescriptionFieldName();
         ModelForm modelForm = modelFormField.getModelForm();
-        String formName = lookupField.getParentFormName();
+        String formName = modelFormField.getParentFormName();
         if (UtilValidate.isEmpty(formName)) {
             formName = FormRenderer.getCurrentFormName(modelForm, context);
         }