Author: jleroux Date: Sat Sep 16 00:46:14 2006 New Revision: 446825 URL: http://svn.apache.org/viewvc?view=rev&rev=446825 Log: Allow extending a form widget from a different file with the same form name. A patch from Marco Risaliti (https://issues.apache.org/jira/browse/OFBIZ-301)
Modified: incubator/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Modified: incubator/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?view=diff&rev=446825&r1=446824&r2=446825 ============================================================================== --- incubator/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original) +++ incubator/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Sat Sep 16 00:46:14 2006 @@ -180,8 +180,7 @@ // check if there is a parent form to inherit from String parentResource = formElement.getAttribute("extends-resource"); String parentForm = formElement.getAttribute("extends"); - //TODO: Modify this to allow for extending a form with the same name but different resource - if (parentForm.length() > 0 && !parentForm.equals(formElement.getAttribute("name"))) { + if (parentForm.length() > 0) { ModelForm parent = null; // check if we have a resource name (part of the string before the ?) if (parentResource.length() > 0) { @@ -190,7 +189,7 @@ } catch (Exception e) { Debug.logError(e, "Failed to load parent form definition '" + parentForm + "' at resource '" + parentResource + "'", module); } - } else { + } else if (!parentForm.equals(formElement.getAttribute("name"))) { // try to find a form definition in the same file Element rootElement = formElement.getOwnerDocument().getDocumentElement(); List formElements = UtilXml.childElementList(rootElement, "form"); @@ -205,8 +204,10 @@ } } if (parent == null) { - Debug.logError("Failed to find parent form defenition '" + parentForm + "' in same document.", module); + Debug.logError("Failed to find parent form definition '" + parentForm + "' in same document.", module); } + } else { + Debug.logError("Recursive form definition found for '" + formElement.getAttribute("name") + ".'", module); } if (parent != null) {