Add disney_group grouped park filter categories
- New disney_group query param on /api/assets (park, resort, office, springs, other) - Both list and map filter dropdowns show group options above individual parks - Backend uses IN queries for grouped park values - Map view handles groups via client-side PARK_GROUP_MAP Closes #69
This commit is contained in:
@@ -1065,6 +1065,7 @@ def list_assets(
|
||||
assigned_to: Optional[int] = Query(None),
|
||||
disney_park: Optional[str] = Query(None),
|
||||
disney_filter: Optional[str] = Query(None),
|
||||
disney_group: Optional[str] = Query(None, description="Grouped park categories: park, resort, office, springs, other"),
|
||||
q: Optional[str] = Query(None),
|
||||
no_dex_days: Optional[int] = Query(None, ge=1),
|
||||
has_gps: Optional[bool] = Query(None),
|
||||
@@ -1092,6 +1093,19 @@ def list_assets(
|
||||
conditions.append("is_disney = 1")
|
||||
elif disney_filter == "non_disney":
|
||||
conditions.append("(is_disney IS NULL OR is_disney = 0)")
|
||||
if disney_group:
|
||||
park_groups = {
|
||||
"park": ["magic-kingdom", "epcot", "hollywood-studios", "animal-kingdom"],
|
||||
"resort": ["resort"],
|
||||
"office": ["office"],
|
||||
"springs": ["disney-springs"],
|
||||
"other": ["other"],
|
||||
}
|
||||
parks = park_groups.get(disney_group)
|
||||
if parks:
|
||||
placeholders = ",".join("?" * len(parks))
|
||||
conditions.append(f"disney_park IN ({placeholders})")
|
||||
params.extend(parks)
|
||||
if model:
|
||||
conditions.append("model = ?")
|
||||
params.append(model)
|
||||
|
||||
Reference in New Issue
Block a user