diff --git a/server.py b/server.py
index b20107b..50ccd5f 100644
--- a/server.py
+++ b/server.py
@@ -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)
diff --git a/static/index.html b/static/index.html
index 69d7bed..66d093f 100644
--- a/static/index.html
+++ b/static/index.html
@@ -1340,7 +1340,13 @@
Disney Park