Fix menu save: javaCast null breaks variable access in Lucee 7

javaCast('null','') makes the variable truly undefined, causing
'variable doesn't exist' errors when referenced in query params.
Use empty string + len() check instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-01-28 17:33:21 -08:00
parent 2fc30b8568
commit ec6bfdd9c9

View file

@ -125,8 +125,8 @@ try {
menuName = structKeyExists(requestData, "MenuName") ? trim(requestData.MenuName) : "";
menuDescription = structKeyExists(requestData, "MenuDescription") ? trim(requestData.MenuDescription) : "";
menuDaysActive = structKeyExists(requestData, "MenuDaysActive") ? val(requestData.MenuDaysActive) : 127;
menuStartTime = structKeyExists(requestData, "MenuStartTime") && len(trim(requestData.MenuStartTime)) ? trim(requestData.MenuStartTime) : javaCast("null", "");
menuEndTime = structKeyExists(requestData, "MenuEndTime") && len(trim(requestData.MenuEndTime)) ? trim(requestData.MenuEndTime) : javaCast("null", "");
menuStartTime = structKeyExists(requestData, "MenuStartTime") && len(trim(requestData.MenuStartTime)) ? trim(requestData.MenuStartTime) : "";
menuEndTime = structKeyExists(requestData, "MenuEndTime") && len(trim(requestData.MenuEndTime)) ? trim(requestData.MenuEndTime) : "";
menuSortOrder = structKeyExists(requestData, "MenuSortOrder") ? val(requestData.MenuSortOrder) : 0;
if (len(menuName) == 0) {
@ -150,8 +150,8 @@ try {
menuName: { value: menuName, cfsqltype: "cf_sql_varchar" },
menuDescription: { value: menuDescription, cfsqltype: "cf_sql_varchar" },
menuDaysActive: { value: menuDaysActive, cfsqltype: "cf_sql_integer" },
menuStartTime: { value: menuStartTime, cfsqltype: "cf_sql_time", null: isNull(menuStartTime) },
menuEndTime: { value: menuEndTime, cfsqltype: "cf_sql_time", null: isNull(menuEndTime) },
menuStartTime: { value: menuStartTime, cfsqltype: "cf_sql_time", null: !len(menuStartTime) },
menuEndTime: { value: menuEndTime, cfsqltype: "cf_sql_time", null: !len(menuEndTime) },
menuSortOrder: { value: menuSortOrder, cfsqltype: "cf_sql_integer" }
}, { datasource: "payfrit" });
@ -173,8 +173,8 @@ try {
menuName: { value: menuName, cfsqltype: "cf_sql_varchar" },
menuDescription: { value: menuDescription, cfsqltype: "cf_sql_varchar" },
menuDaysActive: { value: menuDaysActive, cfsqltype: "cf_sql_integer" },
menuStartTime: { value: menuStartTime, cfsqltype: "cf_sql_time", null: isNull(menuStartTime) },
menuEndTime: { value: menuEndTime, cfsqltype: "cf_sql_time", null: isNull(menuEndTime) },
menuStartTime: { value: menuStartTime, cfsqltype: "cf_sql_time", null: !len(menuStartTime) },
menuEndTime: { value: menuEndTime, cfsqltype: "cf_sql_time", null: !len(menuEndTime) },
menuSortOrder: { value: menuSortOrder, cfsqltype: "cf_sql_integer" }
}, { datasource: "payfrit" });