Fix parent template filter to also allow empty string recurrence_rule
Some events have recurrence_rule set to "" (empty string) instead of NULL. The IS NULL filter excluded these legitimate non-recurring events. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
a3fd0bb2f6
commit
b18fc0f2c8
@ -1,6 +1,6 @@
|
|||||||
from fastapi import APIRouter, Depends, Query
|
from fastapi import APIRouter, Depends, Query
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from sqlalchemy import select, func, and_
|
from sqlalchemy import select, func, or_
|
||||||
from datetime import datetime, date, timedelta
|
from datetime import datetime, date, timedelta
|
||||||
from typing import Optional, List, Dict, Any
|
from typing import Optional, List, Dict, Any
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ async def get_dashboard(
|
|||||||
events_query = select(CalendarEvent).where(
|
events_query = select(CalendarEvent).where(
|
||||||
CalendarEvent.start_datetime >= today_start,
|
CalendarEvent.start_datetime >= today_start,
|
||||||
CalendarEvent.start_datetime <= today_end,
|
CalendarEvent.start_datetime <= today_end,
|
||||||
CalendarEvent.recurrence_rule == None,
|
or_(CalendarEvent.recurrence_rule == None, CalendarEvent.recurrence_rule == ""),
|
||||||
)
|
)
|
||||||
events_result = await db.execute(events_query)
|
events_result = await db.execute(events_query)
|
||||||
todays_events = events_result.scalars().all()
|
todays_events = events_result.scalars().all()
|
||||||
@ -77,7 +77,7 @@ async def get_dashboard(
|
|||||||
starred_query = select(CalendarEvent).where(
|
starred_query = select(CalendarEvent).where(
|
||||||
CalendarEvent.is_starred == True,
|
CalendarEvent.is_starred == True,
|
||||||
CalendarEvent.start_datetime > now,
|
CalendarEvent.start_datetime > now,
|
||||||
CalendarEvent.recurrence_rule == None,
|
or_(CalendarEvent.recurrence_rule == None, CalendarEvent.recurrence_rule == ""),
|
||||||
).order_by(CalendarEvent.start_datetime.asc()).limit(5)
|
).order_by(CalendarEvent.start_datetime.asc()).limit(5)
|
||||||
starred_result = await db.execute(starred_query)
|
starred_result = await db.execute(starred_query)
|
||||||
starred_events = starred_result.scalars().all()
|
starred_events = starred_result.scalars().all()
|
||||||
@ -158,7 +158,7 @@ async def get_upcoming(
|
|||||||
events_query = select(CalendarEvent).where(
|
events_query = select(CalendarEvent).where(
|
||||||
CalendarEvent.start_datetime >= today_start,
|
CalendarEvent.start_datetime >= today_start,
|
||||||
CalendarEvent.start_datetime <= cutoff_datetime,
|
CalendarEvent.start_datetime <= cutoff_datetime,
|
||||||
CalendarEvent.recurrence_rule == None,
|
or_(CalendarEvent.recurrence_rule == None, CalendarEvent.recurrence_rule == ""),
|
||||||
)
|
)
|
||||||
events_result = await db.execute(events_query)
|
events_result = await db.execute(events_query)
|
||||||
events = events_result.scalars().all()
|
events = events_result.scalars().all()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user