From ec6f0aed8d5340b570aa10074af8510d217e4d12 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz <henrik@levkowetz.com> Date: Mon, 23 Mar 2020 18:39:45 +0000 Subject: [PATCH] Changed the page for upcoming meetings to show the current IETF meeting for 7 days from its start date, while interims are shown for today and forward. Also changed the upcoming.ics calendar to show future sessions, even if the meeting to which they belong started in the past. This improves on [17518]. - Legacy-Id: 17520 Note: SVN reference [17518] has been migrated to Git commit 0de5a4912afb62f21d5a45e77d1e9f296c4122f9 --- ietf/meeting/views.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 2f852e7b7..bdd61151a 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -2233,9 +2233,12 @@ def past(request): def upcoming(request): '''List of upcoming meetings''' - today = datetime.datetime.today() - datetime.timedelta(days=7) + today = datetime.date.today() - meetings, group_parents = data_for_meetings_overview(Meeting.objects.filter(date__gte=today).order_by('date')) + # Get ietf meetings starting 7 days ago, and interim meetings starting today + query = Q(type_id='ietf', date__gte=today-datetime.timedelta(days=7)) | Q(type_id='interim', date__gte=today) + meetings = Meeting.objects.filter(query).order_by('date') + meetings, group_parents = data_for_meetings_overview(meetings) # add menu entries menu_entries = get_interim_menu_entries(request) @@ -2260,13 +2263,15 @@ def upcoming(request): def upcoming_ical(request): '''Return Upcoming meetings in iCalendar file''' filters = request.GET.getlist('filters') - today = datetime.datetime.today() - datetime.timedelta(days=7) + today = datetime.date.today() - meetings, _ = data_for_meetings_overview(Meeting.objects.filter(date__gte=today).order_by('date')) + # get meetings starting 7 days ago -- we'll filter out sessions in the past further down + meetings, _ = data_for_meetings_overview(Meeting.objects.filter(date__gte=today-datetime.timedelta(days=7)).order_by('date')) assignments = list(SchedTimeSessAssignment.objects.filter( schedule__meeting__schedule=F('schedule'), - session__in=[s.pk for m in meetings for s in m.sessions] + session__in=[s.pk for m in meetings for s in m.sessions], + timeslot__time__gte=today, ).order_by( 'schedule__meeting__date', 'session__type', 'timeslot__time' ).select_related(