Remove time-based filtering from customer menu API
Always return all active menus in the response so chip selector always appears. Show all items from all menus by default instead of filtering by current time, which caused empty results outside menu hours. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3b48c3331d
commit
6b31b1abcf
1 changed files with 9 additions and 15 deletions
|
|
@ -87,26 +87,19 @@
|
||||||
|
|
||||||
<cfif hasCategoriesData>
|
<cfif hasCategoriesData>
|
||||||
<!--- Use Categories table with ItemCategoryID --->
|
<!--- Use Categories table with ItemCategoryID --->
|
||||||
<!--- First, find which menus are currently active based on day/time --->
|
<!--- Get all active menus for this business (for chip selector) --->
|
||||||
<cfset activeMenuIds = "">
|
<cfset activeMenuIds = "">
|
||||||
<cfset menuList = []>
|
<cfset menuList = []>
|
||||||
<cftry>
|
<cftry>
|
||||||
<cfset qActiveMenus = queryExecute(
|
<cfset qAllMenus = queryExecute(
|
||||||
"
|
"
|
||||||
SELECT MenuID, MenuName FROM Menus
|
SELECT MenuID, MenuName FROM Menus
|
||||||
WHERE MenuBusinessID = :bizId
|
WHERE MenuBusinessID = :bizId
|
||||||
AND MenuIsActive = 1
|
AND MenuIsActive = 1
|
||||||
AND (MenuDaysActive & :dayBit) > 0
|
|
||||||
AND (
|
|
||||||
(MenuStartTime IS NULL OR MenuEndTime IS NULL)
|
|
||||||
OR (TIME(:currentTime) >= MenuStartTime AND TIME(:currentTime) <= MenuEndTime)
|
|
||||||
)
|
|
||||||
ORDER BY MenuSortOrder, MenuName
|
ORDER BY MenuSortOrder, MenuName
|
||||||
",
|
",
|
||||||
{
|
{
|
||||||
bizId: { value = BusinessID, cfsqltype = "cf_sql_integer" },
|
bizId: { value = BusinessID, cfsqltype = "cf_sql_integer" }
|
||||||
dayBit: { value = 2 ^ (currentDayID - 1), cfsqltype = "cf_sql_integer" },
|
|
||||||
currentTime: { value = currentTime, cfsqltype = "cf_sql_varchar" }
|
|
||||||
},
|
},
|
||||||
{ datasource = "payfrit" }
|
{ datasource = "payfrit" }
|
||||||
)>
|
)>
|
||||||
|
|
@ -114,13 +107,14 @@
|
||||||
<!--- User selected a specific menu --->
|
<!--- User selected a specific menu --->
|
||||||
<cfset activeMenuIds = requestedMenuID>
|
<cfset activeMenuIds = requestedMenuID>
|
||||||
<cfelse>
|
<cfelse>
|
||||||
<cfset activeMenuIds = valueList(qActiveMenus.MenuID)>
|
<!--- No specific menu selected — show all items from all menus --->
|
||||||
|
<cfset activeMenuIds = valueList(qAllMenus.MenuID)>
|
||||||
</cfif>
|
</cfif>
|
||||||
<!--- Build menu list for the response --->
|
<!--- Build menu list for the response (all active menus, always) --->
|
||||||
<cfloop query="qActiveMenus">
|
<cfloop query="qAllMenus">
|
||||||
<cfset arrayAppend(menuList, {
|
<cfset arrayAppend(menuList, {
|
||||||
"MenuID": qActiveMenus.MenuID,
|
"MenuID": qAllMenus.MenuID,
|
||||||
"MenuName": qActiveMenus.MenuName
|
"MenuName": qAllMenus.MenuName
|
||||||
})>
|
})>
|
||||||
</cfloop>
|
</cfloop>
|
||||||
<cfcatch>
|
<cfcatch>
|
||||||
|
|
|
||||||
Reference in a new issue