Show in-progress multi-day events on the calendar (#33)
Unit Tests / test (push) Successful in 5s

## 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`

Reviewed-on: #33
This commit was merged in pull request #33.
This commit is contained in:
westfarn committed 2026-10-06 11:41:16 -07:00
1 parent 531d97f3fc
commit 783712972b
3 files changed
+81 -15

No files matched your search

+3 -3
View File
@@ -114,7 +114,7 @@
</div>
<div class="col-md-8">
<div class="mb-3">
<p class="mb-1"><i class="bi bi-calendar-event text-success me-2"></i><strong>Date:</strong> {{ event.start_date }}</p>
<p class="mb-1"><i class="bi bi-calendar-event text-success me-2"></i><strong>Date:</strong> {% if event.end_date and event.end_date != event.start_date %}{{ event.start_date }} – {{ event.end_date }}{% else %}{{ event.start_date }}{% endif %}</p>
{% if event.time_range_display %}
<p class="mb-1"><i class="bi bi-clock text-success me-2"></i><strong>Time:</strong> {{ event.time_range_display }}</p>
{% endif %}
@@ -144,7 +144,7 @@
<div class="tab-pane fade" id="past" role="tabpanel">
<div class="row g-4">
<!-- Past Event 1 -->
{% for event in future_events %}
{% for event in past_events %}
<div class="col-lg-6">
<div class="card h-100 shadow-sm">
<div class="card-header bg-secondary text-white">
@@ -160,7 +160,7 @@
</div>
<div class="col-md-8">
<div class="mb-3">
<p class="mb-1"><i class="bi bi-calendar-event text-secondary me-2"></i><strong>Date:</strong> {{ event.start_date }}</p>
<p class="mb-1"><i class="bi bi-calendar-event text-secondary me-2"></i><strong>Date:</strong> {% if event.end_date and event.end_date != event.start_date %}{{ event.start_date }} – {{ event.end_date }}{% else %}{{ event.start_date }}{% endif %}</p>
{% if event.time_range_display %}
<p class="mb-1"><i class="bi bi-clock text-secondary me-2"></i><strong>Time:</strong> {{ event.time_range_display }}</p>
{% endif %}