This is an automated email from the ASF dual-hosted git repository.
mleila pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new ffaa7adeae Fixed: Add missing form-name retrieval for
auto-parameters-form (OFBIZ-12684)
ffaa7adeae is described below
commit ffaa7adeaed472a3d74cbf0fab5e5aa5efc2442f
Author: MLeila <[email protected]>
AuthorDate: Wed Jan 22 16:51:03 2025 +0100
Fixed: Add missing form-name retrieval for auto-parameters-form
(OFBIZ-12684)
Although it is defined in the xsd, the form-name parameters is not
retrieved during the generation or link informations.
This add the retrieval and update the link when this parameter is used
---
.../ofbiz/widget/model/CommonWidgetModels.java | 20 +++++++++++++-------
.../org/apache/ofbiz/widget/model/ModelForm.java | 21 +++++++++++++--------
2 files changed, 26 insertions(+), 15 deletions(-)
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/CommonWidgetModels.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/CommonWidgetModels.java
index a399979f6f..7cda0c9ac4 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/CommonWidgetModels.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/CommonWidgetModels.java
@@ -394,14 +394,20 @@ public final class CommonWidgetModels {
}
Element autoFormParamsElement =
UtilXml.firstChildElement(linkElement, "auto-parameters-form");
if (autoFormParamsElement != null) {
- Node formElement = autoFormParamsElement;
- while (formElement != null
- && formElement.getLocalName() != "form") {
- formElement = formElement.getParentNode();
- }
- if (formElement != null && formElement.getLocalName() != null)
{
- parameterList.add(new Parameter("_FORM_NAME_", ((Element)
formElement).getAttribute("name") + "_AS_PARAM_", false));
+ String formName = null;
+ if (autoFormParamsElement.hasAttribute("form-name") &&
autoFormParamsElement.getAttribute("form-name") != null) {
+ formName = autoFormParamsElement.getAttribute("form-name");
+ } else {
+ Node formElement = autoFormParamsElement;
+ while (formElement != null
+ && formElement.getLocalName() != "form") {
+ formElement = formElement.getParentNode();
+ }
+ if (formElement != null && formElement.getLocalName() !=
null) {
+ formName = ((Element)
formElement).getAttribute("name");
+ }
}
+ parameterList.add(new Parameter("_FORM_NAME_", formName +
"_AS_PARAM_", false));
}
this.parameterList = Collections.unmodifiableList(parameterList);
Element autoServiceParamsElement =
UtilXml.firstChildElement(linkElement, "auto-parameters-service");
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelForm.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelForm.java
index 6583363cc7..fce71a2dba 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelForm.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelForm.java
@@ -2317,15 +2317,20 @@ public abstract class ModelForm extends ModelWidget {
}
Element autoFormParamsElement =
UtilXml.firstChildElement(updateAreaElement, "auto-parameters-form");
if (autoFormParamsElement != null) {
- Node formElement = autoFormParamsElement;
- while (formElement != null
- && formElement.getLocalName() != "form") {
- formElement = formElement.getParentNode();
- }
- if (formElement != null && formElement.getLocalName() != null)
{
- parameterList.add(new
CommonWidgetModels.Parameter("_FORM_NAME_", ((Element)
formElement).getAttribute("name") + "_AS_PARAM_",
- false));
+ String formName = null;
+ if (autoFormParamsElement.hasAttribute("form-name") &&
autoFormParamsElement.getAttribute("form-name") != null) {
+ formName = autoFormParamsElement.getAttribute("form-name");
+ } else {
+ Node formElement = autoFormParamsElement;
+ while (formElement != null
+ && formElement.getLocalName() != "form") {
+ formElement = formElement.getParentNode();
+ }
+ if (formElement != null && formElement.getLocalName() !=
null) {
+ formName = ((Element)
formElement).getAttribute("name");
+ }
}
+ parameterList.add(new
CommonWidgetModels.Parameter("_FORM_NAME_", formName + "_AS_PARAM_", false));
}
this.parameterList = Collections.unmodifiableList(parameterList);
Element autoServiceParamsElement =
UtilXml.firstChildElement(updateAreaElement, "auto-parameters-service");