Fixed: Calendar in Work Effort does not work (OFBIZ-12665)
Fix a null pointer exception when a menu extend a menu with empty item.
In this case, we use a empty link for the extended menu.
Thanks to Jacques Leroux for the alert
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 f92c2d2..b05c631 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
@@ -444,6 +444,32 @@
this.height = "";
}
+ // Empty link constructor
+ public Link() {
+ this.autoEntityParameters = null;
+ this.autoServiceParameters = null;
+ this.callback = null;
+ this.encode = false;
+ this.fullPath = false;
+ this.idExdr = FlexibleStringExpander.getInstance("");
+ this.image = null;
+ this.linkType = "";
+ this.nameExdr = FlexibleStringExpander.getInstance("");
+ this.parameterList = Collections.emptyList();
+ this.prefixExdr = FlexibleStringExpander.getInstance("");
+ this.secure = false;
+ this.styleExdr = FlexibleStringExpander.getInstance("");
+ this.targetExdr = FlexibleStringExpander.getInstance("");
+ this.targetWindowExdr = FlexibleStringExpander.getInstance("");
+ this.textExdr = FlexibleStringExpander.getInstance("");
+ this.urlMode = "intra-app";
+ this.size = null;
+ this.requestConfirmation = false;
+ this.confirmationMsgExdr = FlexibleStringExpander.getInstance("");
+ this.width = "";
+ this.height = "";
+ }
+
public AutoEntityParameters getAutoEntityParameters() {
return autoEntityParameters;
}
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java
index 3ebb034..e9b1455 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java
@@ -693,7 +693,7 @@
this.linkMenuItem = parentMenuItem;
this.link = originLink != null
? originLink.link
- : null;
+ : new Link();
}
public MenuLink(GenericValue portalPage, ModelMenuItem parentMenuItem, Locale locale) {