Fixed an issue with [10344], where the numberless /meeting/agenda/ would redirect to a non-existing proceedings URL.
- Legacy-Id: 10360
Note: SVN reference [10344] has been migrated to Git commit 893988e45e
This commit is contained in:
parent
f60fe7ceab
commit
143b8cc646
|
@ -6,7 +6,7 @@ import os
|
|||
import re
|
||||
from tempfile import mkstemp
|
||||
|
||||
from django.http import HttpRequest
|
||||
from django.http import HttpRequest, Http404
|
||||
from django.db.models import Max, Q, Prefetch, F
|
||||
from django.conf import settings
|
||||
from django.core.cache import cache
|
||||
|
@ -107,12 +107,19 @@ def get_wg_list(assignments):
|
|||
return Group.objects.filter(acronym__in = set(wg_name_list)).order_by('parent__acronym','acronym')
|
||||
|
||||
|
||||
def get_meeting(num=None):
|
||||
def get_meetings(num=None):
|
||||
if num == None:
|
||||
meeting = Meeting.objects.filter(type="ietf").order_by("-date")[:1].get()
|
||||
meetings = Meeting.objects.filter(type="ietf").order_by("-date")
|
||||
else:
|
||||
meeting = get_object_or_404(Meeting, number=num)
|
||||
return meeting
|
||||
meetings = Meeting.objects.filter(type="ietf", number=num)
|
||||
return meetings
|
||||
|
||||
def get_meeting(num=None):
|
||||
meetings = get_meetings(num)
|
||||
if meetings.exists():
|
||||
return meetings.first()
|
||||
else:
|
||||
raise Http404("No such meeting found: %s" % num)
|
||||
|
||||
def get_schedule(meeting, name=None):
|
||||
if name is None:
|
||||
|
|
|
@ -32,7 +32,7 @@ from ietf.meeting.helpers import build_all_agenda_slices, get_wg_name_list
|
|||
from ietf.meeting.helpers import get_all_assignments_from_schedule
|
||||
from ietf.meeting.helpers import get_modified_from_assignments
|
||||
from ietf.meeting.helpers import get_wg_list, find_ads_for_meeting
|
||||
from ietf.meeting.helpers import get_meeting, get_schedule, agenda_permissions, meeting_updated
|
||||
from ietf.meeting.helpers import get_meeting, get_schedule, agenda_permissions, meeting_updated, get_meetings
|
||||
from ietf.meeting.helpers import preprocess_assignments_for_agenda, read_agenda_file
|
||||
from ietf.meeting.helpers import convert_draft_to_pdf
|
||||
from ietf.utils.pipe import pipe
|
||||
|
@ -364,17 +364,17 @@ def agenda(request, num=None, name=None, base=None, ext=None):
|
|||
".csv": "text/csv; charset=%s"%settings.DEFAULT_CHARSET,
|
||||
}
|
||||
|
||||
meeting_query = Meeting.objects.filter(number=num)
|
||||
meetings = get_meetings(num)
|
||||
|
||||
# We do not have the appropriate data in the datatracker for IETF 64 and earlier.
|
||||
# So that we're not producing misleading pages...
|
||||
if not meeting_query.exists() or not meeting_query.first().agenda.assignments.exists():
|
||||
if not meetings.exists() or not meetings.first().agenda.assignments.exists():
|
||||
if ext == '.html':
|
||||
return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s' % num )
|
||||
else:
|
||||
raise Http404
|
||||
|
||||
meeting = meeting_query.first()
|
||||
meeting = meetings.first()
|
||||
schedule = get_schedule(meeting, name)
|
||||
if schedule == None:
|
||||
base = base.replace("-utc", "")
|
||||
|
|
Loading…
Reference in a new issue