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
|
import re
|
||||||
from tempfile import mkstemp
|
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.db.models import Max, Q, Prefetch, F
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.cache import cache
|
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')
|
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:
|
if num == None:
|
||||||
meeting = Meeting.objects.filter(type="ietf").order_by("-date")[:1].get()
|
meetings = Meeting.objects.filter(type="ietf").order_by("-date")
|
||||||
else:
|
else:
|
||||||
meeting = get_object_or_404(Meeting, number=num)
|
meetings = Meeting.objects.filter(type="ietf", number=num)
|
||||||
return meeting
|
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):
|
def get_schedule(meeting, name=None):
|
||||||
if name is 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_all_assignments_from_schedule
|
||||||
from ietf.meeting.helpers import get_modified_from_assignments
|
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_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 preprocess_assignments_for_agenda, read_agenda_file
|
||||||
from ietf.meeting.helpers import convert_draft_to_pdf
|
from ietf.meeting.helpers import convert_draft_to_pdf
|
||||||
from ietf.utils.pipe import pipe
|
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,
|
".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.
|
# We do not have the appropriate data in the datatracker for IETF 64 and earlier.
|
||||||
# So that we're not producing misleading pages...
|
# 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':
|
if ext == '.html':
|
||||||
return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s' % num )
|
return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s' % num )
|
||||||
else:
|
else:
|
||||||
raise Http404
|
raise Http404
|
||||||
|
|
||||||
meeting = meeting_query.first()
|
meeting = meetings.first()
|
||||||
schedule = get_schedule(meeting, name)
|
schedule = get_schedule(meeting, name)
|
||||||
if schedule == None:
|
if schedule == None:
|
||||||
base = base.replace("-utc", "")
|
base = base.replace("-utc", "")
|
||||||
|
|
Loading…
Reference in a new issue