Update filtering logic

This commit is contained in:
Nicolas Mowen 2024-06-11 07:59:30 -06:00
parent b5459bd9bc
commit 3b523b37da
2 changed files with 17 additions and 0 deletions

View File

@ -111,6 +111,7 @@ def review_summary():
cameras = request.args.get("cameras", "all") cameras = request.args.get("cameras", "all")
labels = request.args.get("labels", "all") labels = request.args.get("labels", "all")
zones = request.args.get("zones", "all")
clauses = [(ReviewSegment.start_time > day_ago)] clauses = [(ReviewSegment.start_time > day_ago)]
@ -133,6 +134,20 @@ def review_summary():
label_clause = reduce(operator.or_, label_clauses) label_clause = reduce(operator.or_, label_clauses)
clauses.append((label_clause)) clauses.append((label_clause))
if zones != "all":
# use matching so segments with multiple zones
# still match on a search where any zone matches
zone_clauses = []
filtered_zones = zones.split(",")
for zone in filtered_zones:
zone_clauses.append(
(ReviewSegment.data["zones"].cast("text") % f'*"{zone}"*')
)
zone_clause = reduce(operator.or_, zone_clauses)
clauses.append((zone_clause))
last_24 = ( last_24 = (
ReviewSegment.select( ReviewSegment.select(
fn.SUM( fn.SUM(

View File

@ -136,6 +136,7 @@ export default function Events() {
const params = { const params = {
cameras: reviewSearchParams["cameras"], cameras: reviewSearchParams["cameras"],
labels: reviewSearchParams["labels"], labels: reviewSearchParams["labels"],
zones: reviewSearchParams["zones"],
reviewed: 1, reviewed: 1,
before: reviewSearchParams["before"] || last24Hours.before, before: reviewSearchParams["before"] || last24Hours.before,
after: reviewSearchParams["after"] || last24Hours.after, after: reviewSearchParams["after"] || last24Hours.after,
@ -221,6 +222,7 @@ export default function Events() {
timezone: timezone, timezone: timezone,
cameras: reviewSearchParams["cameras"] ?? null, cameras: reviewSearchParams["cameras"] ?? null,
labels: reviewSearchParams["labels"] ?? null, labels: reviewSearchParams["labels"] ?? null,
zones: reviewSearchParams["zones"] ?? null,
}, },
], ],
{ {