diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 1c0db1299..053ac4efe 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -553,6 +553,15 @@ class MeetingTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) + def test_proceedings_no_agenda(self): + meeting = MeetingFactory(type_id='ietf',populate_schedule=False,date=datetime.date.today()) + url = urlreverse('ietf.meeting.views.proceedings') + r = self.client.get(url) + self.assertRedirects(r, urlreverse('ietf.meeting.views.materials')) + url = urlreverse('ietf.meeting.views.proceedings', kwargs=dict(num=meeting.number)) + r = self.client.get(url) + self.assertRedirects(r, urlreverse('ietf.meeting.views.materials', kwargs=dict(num=meeting.number))) + def test_proceedings_acknowledgements(self): make_meeting_test_data() meeting = MeetingFactory(type_id='ietf', date=datetime.date(2016,7,14), number="96") diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 0b5e662da..a569d06e4 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -3544,8 +3544,14 @@ def proceedings(request, num=None): meeting = get_meeting(num) - if (meeting.number.isdigit() and int(meeting.number) <= 64) or not meeting.schedule or not meeting.schedule.assignments.exists(): - return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s' % num ) + if (meeting.number.isdigit() and int(meeting.number) <= 64): + return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s' % num ) + + if not meeting.schedule or not meeting.schedule.assignments.exists(): + kwargs = dict() + if num: + kwargs['num'] = num + return redirect('ietf.meeting.views.materials', **kwargs) begin_date = meeting.get_submission_start_date() cut_off_date = meeting.get_submission_cut_off_date()