Changed the week_view() function to calculate a first_regular_session_time also when the meeting has not been populated with any sessions, by using the meeting.date as a proxy value.

- Legacy-Id: 18410
This commit is contained in:
Henrik Levkowetz 2020-08-25 13:08:57 +00:00
parent 45eaa18c77
commit 7a422e86bf

View file

@ -23,8 +23,6 @@ from urllib.parse import unquote
from tempfile import mkstemp
from wsgiref.handlers import format_date_time
import debug # pyflakes:ignore
from django import forms
from django.shortcuts import render, redirect, get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect, Http404
@ -46,6 +44,8 @@ from django.utils.html import format_html
from django.views.decorators.csrf import ensure_csrf_cookie, csrf_exempt
from django.views.generic import RedirectView
import debug # pyflakes:ignore
from ietf.doc.fields import SearchableDocumentsField
from ietf.doc.models import Document, State, DocEvent, NewRevisionDocEvent, DocAlias
from ietf.group.models import Group
@ -91,6 +91,7 @@ from ietf.utils.pipe import pipe
from ietf.utils.pdf import pdf_pages
from ietf.utils.response import permission_denied
from ietf.utils.text import xslugify
from ietf.utils.timezone import date2datetime
from .forms import (InterimMeetingModelForm, InterimAnnounceForm, InterimSessionModelForm,
InterimCancelForm, InterimSessionInlineFormSet, FileUploadForm, RequestMinutesForm,)
@ -1126,7 +1127,8 @@ def week_view(request, num=None, name=None, owner=None):
filtered_assignments = schedule.assignments.exclude(timeslot__type__in=['lead','offagenda'])
# Only show assignments from the traditional meeting "week" (Sat-Fri).
# We'll determine this using the saturday before the first scheduled regular session.
first_regular_session_time = meeting.schedule.qs_assignments_with_sessions.filter(session__type_id='regular').order_by('timeslot__time').first().timeslot.time
first_regular_session = meeting.schedule.qs_assignments_with_sessions.filter(session__type_id='regular').order_by('timeslot__time').first()
first_regular_session_time = first_regular_session.timeslot.time if first_regular_session else date2datetime(meeting.date)
saturday_before = first_regular_session_time - datetime.timedelta(days=(first_regular_session_time.weekday() - 5)%7)
# saturday_after = saturday_before + datetime.timedelta(days=7)
# filtered_assignments = filtered_assignments.filter(timeslot__time__gte=saturday_before,timeslot__time__lt=saturday_after)