Keep an event on Upcoming until its end date is over. If end_time is set, it drops off once that time passes on the end date, so an in-progress multi-day event stays visible.
Render the Past tab from past_events instead of future_events.
Show the start–end date range when the dates differ.
Test plan
Multi-day event that started yesterday and ends tomorrow appears under Upcoming
Event whose end time has already passed appears under Past
Future single-day event still appears under Upcoming
Past tab lists finished events only
uv run python manage.py test schasite.tests.CalendarEventTests
## Summary
Closes #32.
- Keep an event on Upcoming until its end date is over. If `end_time` is set, it drops off once that time passes on the end date, so an in-progress multi-day event stays visible.
- Render the Past tab from `past_events` instead of `future_events`.
- Show the start–end date range when the dates differ.
## Test plan
- [ ] Multi-day event that started yesterday and ends tomorrow appears under Upcoming
- [ ] Event whose end time has already passed appears under Past
- [ ] Future single-day event still appears under Upcoming
- [ ] Past tab lists finished events only
- [ ] `uv run python manage.py test schasite.tests.CalendarEventTests`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Closes #32.
end_timeis set, it drops off once that time passes on the end date, so an in-progress multi-day event stays visible.past_eventsinstead offuture_events.Test plan
uv run python manage.py test schasite.tests.CalendarEventTests