Author: jleroux Date: Tue Mar 10 13:32:40 2015 New Revision: 1665540 URL: http://svn.apache.org/r1665540 Log: "Applied fix from trunk for revision: 1665535 " ------------------------------------------------------------------------ r1665535 | jleroux | 2015-03-10 14:29:40 +0100 (mar., 10 mars 2015) | 3 lines
Fixes <<"Lookup fields break when used with a form having skip-start="true">> https://issues.apache.org/jira/browse/OFBIZ-6139 We neglected this aspect so far, adding a "form-name" attribute to the lookup element fixes it. You then need also to set the correct id-name value on field element. ------------------------------------------------------------------------ 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/renderer/macro/MacroFormRenderer.java Propchange: ofbiz/branches/release14.12/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Mar 10 13:32:40 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 +/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 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=1665540&r1=1665539&r2=1665540&view=diff ============================================================================== --- ofbiz/branches/release14.12/framework/widget/dtd/widget-form.xsd (original) +++ ofbiz/branches/release14.12/framework/widget/dtd/widget-form.xsd Tue Mar 10 13:32:40 2015 @@ -1317,6 +1317,13 @@ 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=1665540&r1=1665539&r2=1665540&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 Tue Mar 10 13:32:40 2015 @@ -2761,6 +2761,7 @@ 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; @@ -2772,6 +2773,7 @@ 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"); @@ -2788,6 +2790,7 @@ public class ModelFormField { this.descriptionFieldName = ""; this.fadeBackground = ""; this.formName = FlexibleStringExpander.getInstance(""); + this.parentFormName = ""; this.initiallyCollapsed = ""; this.lookupHeight = ""; this.lookupPosition = ""; @@ -2802,6 +2805,7 @@ 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; @@ -2866,6 +2870,10 @@ 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/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=1665540&r1=1665539&r2=1665540&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 Tue Mar 10 13:32:40 2015 @@ -2068,7 +2068,10 @@ public final class MacroFormRenderer imp // add lookup pop-up button String descriptionFieldName = lookupField.getDescriptionFieldName(); ModelForm modelForm = modelFormField.getModelForm(); - String formName = FormRenderer.getCurrentFormName(modelForm, context); + String formName = lookupField.getParentFormName(); + if (UtilValidate.isEmpty(formName)) { + formName = FormRenderer.getCurrentFormName(modelForm, context); + } StringBuilder targetParameterIter = new StringBuilder(); StringBuilder imgSrc = new StringBuilder(); // FIXME: refactor using the StringUtils methods